西门子益阳(中国)总代理
(2)16进制数与ascii码转换指令 有hex→ascii转换指令asci(fnc82)、ascii→hex转换指令hex(fnc83)两条指令
hex→ascii转换指令asci(p)的功能是将源操作数[s.]中的内容(十六进制数)转换成ascii码放入目标操作数[d.]中。如图3- 79所示,n表示要转换的字符数(n=1~256)。m8161控制采用16位模式还是8位模式。16位模式时每4个hex占用1个数据寄存器,转换后每两个ascii码占用一个数据寄存器;8位模式时,转换结果传送到[d.]低8位,其高8位为0。plc运行时m8000为on,m8161为off,此时为16位模式。当x0为on则执行asci。如果放在d100中的4个字符为oabch则执行后将其转换为ascii码送入d200和d201中,d200高位放a的ascii码41h,低位放0的ascii码30h,d201则放bc的ascii码,c放在高位。该指令的源操作数可取所有数据类型,目标操作数可取kny、knm、kns、t、c和d。只有16位运算,占用7个程序步。
ascii→hex指令hex(p)的功能与asci指令相反,是将ascii码表示的信息转换成16进制的信息。如图3-80所示,将源操作数d200~d203中放的ascii码转换成16进制放入目标操作数d100和d101中。只有16位运算,占7个程序步。源操作数为k、h、knx、 kny、knm、kns、t、c和d,目标操作数为 kny、knm、kns、t、c、d、v和z。
(4)校验码指令 校验码指令ccd(p)(fnc84)的功能是对一组数据寄存器中的16进制数进行总校验和奇偶校验。如图3-81所示,是将源操作数[s.]的d100~d102共6个字节的8位二进制数求和并“异或,结果分别放在目标操作数d0和d1中。通信过程中可将数据和、“异或结果随同发送,对方接收到信息后,先将传送的数据求和并“异或,再与收到的和及“异或结果比较,以此判断传送信号的正确与否。源操作数可取knx、 kny、knm、kns、t、c和d,目标操作数可取knm、kns、t、c和d,n可用k、h或d,n=1~256。为16位运算指令,占7个程序步。
以上prun、asci、hex、ccd常应用于串行通信中,配合rs指令。
(5)模拟量输入指令 模拟量输入指令vrrd(p)(fnc85)是用来对fx2n-8av-bd模拟量功能扩展板中的电位器数值进行读操作。如图3-82所示,当x0为on时,读出fx2n-8av-bd中0号模拟量的值(由k0决定),将其送入d0作为t0的设定值。源操作数可取k、h,它用来模拟量口的编号,取值范围为0~7;目标操作数可取kny、knm、kns、t、c、d、v和z。该指令只有16位运算,占5个程序步。
(6)模拟量开关设定指令 模拟量开关设定指令vrsc(p)(fnc86)的作用是将fx-8av中电位器读出的数四舍五入整量化后以0~10之间的整数值存放在目标操作数中。它的源操作数[s.]可取k和h,用来模拟量口的编号,取值范围为0~7;目标操作数[d.]的类型与vrrd指令相同。该指令为16位运算,占9个程序步。