外围设备(SER)指令包括串行通信指令RS(FNC80)、八进制数据传送指令PRUN(FNC81)、HEX→ASCII转换指令ASCI(FNC82)、ASCII→HEX转换指令HEX(FNC83)、校验码指令CCD(FNC84)、模拟量输入指令VRRD(FNC85)、模拟量开关设定指令VRSC(FNC86)和PID运算指令PID(FNC88)8条指令。
(1)八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制数的传送。如图3-78所示,当X10为ON时,将X0~X17内容送至M0~M7和M10~M17(因为X为八进制,故M9和M8的内容不变)。当X11为ON时,则将M0~M7送Y0~Y7,M10~M17送Y10~Y17。源操作数可取KnX、KnM,目标操作数取KnY、KnM,n=1~8,16位和32位运算分别占5个和9个程序步。
图 3-78 八进制数据传送指令的使用
(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个程序步。
图 3-79 HEX→ASCII码转换指令的使用
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。
图3-80 ASCII→HEX指令的使用
(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个程序步。
图 3-81 校验码指令的使用
以上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个程序步。
图3-82 模拟量输入指令的使用
(6)模拟量开关设定指令 模拟量开关设定指令VRSC(P)(FNC86)的作用是将FX-8AV中电位器读出的数四舍五入整量化后以0~10之间的整数值存放在目标操作数中。它的源操作数[S.]可取K和H,用来指定模拟量口的编号,取值范围为0~7;目标操作数[D.]的类型与VRRD指令相同。该指令为16位运算,占9个程序步。
|