外围设备(SER)指令(FNC80~FNC89)
2017-07-30  来源:网络或本站原创

      外围设备(SER)指令包括串行通信指令RSFNC80)、八进制数据传送指令PRUNFNC81)、HEXASCII转换指令ASCIFNC82)、ASCIIHEX转换指令HEXFNC83)、校验码指令CCDFNC84)、模拟量输入指令VRRDFNC85)、模拟量开关设定指令VRSCFNC86)和PID运算指令PIDFNC888条指令。

1)八进制数据传送指令  八进制数据传送指令(D)PRUN(P)FNC81)是用于八进制数的传送。如图3-78所示,当X10ON时,将X0X17内容送至M0M7M10M17(因为X为八进制,故M9M8的内容不变)。当X11ON时,则将M0M7Y0Y7M10M17Y10Y17。源操作数可取KnXKnM,目标操作数取KnYKnMn=1816位和32位运算分别占5个和9个程序步。

 

 

3-78   八进制数据传送指令的使用

216进制数与ASCII码转换指令  HEXASCII转换指令ASCIFNC82)、ASCIIHEX转换指令HEXFNC83)两条指令

HEXASCII转换指令ASCI(P)的功能是将源操作数[S.]中的内容(十六进制数)转换成ASCII码放入目标操作数[D.]中。如图3- 79所示,n表示要转换的字符数(n=1256)。M8161控制采用16位模式还是8位模式。16位模式时每4HEX占用1个数据寄存器,转换后每两个ASCII码占用一个数据寄存器;8位模式时,转换结果传送到[D.]8位,其高8位为0PLC运行时M8000ONM8161OFF,此时为16位模式。当X0ON则执行ASCI。如果放在D100中的4个字符为OABCH则执行后将其转换为ASCII码送入D200D201中,D200高位放AASCII41H,低位放0ASCII30HD201则放BCASCII码,C放在高位。该指令的源操作数可取所有数据类型,目标操作数可取KnYKnMKnSTCD。只有16位运算,占用7个程序步。

 

 

3-79  HEXASCII码转换指令的使用

ASCIIHEX指令HEX(P)的功能与ASCI指令相反,是将ASCII码表示的信息转换成16进制的信息。如图3-80所示,将源操作数D200D203中放的ASCII码转换成16进制放入目标操作数D100D101中。只有16位运算,占7个程序步。源操作数为KHKnX KnYKnMKnSTCD,目标操作数为 KnYKnMKnSTCDVZ

 

 

3-80   ASCIIHEX指令的使用

4)校验码指令  校验码指令CCD(P)FNC84)的功能是对一组数据寄存器中的16进制数进行总校验和奇偶校验。如图3-81所示,是将源操作数[S.]指定的D100D1026个字节的8位二进制数求和并“异或”,结果分别放在目标操作数D0D1中。通信过程中可将数据和、“异或”结果随同发送,对方接收到信息后,先将传送的数据求和并“异或”,再与收到的和及“异或”结果比较,以此判断传送信号的正确与否。源操作数可取KnX KnYKnMKnSTCD,目标操作数可取KnMKnSTCDn可用KHDn=1256。为16位运算指令,占7个程序步。

 

 

3-81  校验码指令的使用

以上PRUNASCIHEXCCD常应用于串行通信中,配合RS指令。

5)模拟量输入指令  模拟量输入指令VRRD(P)FNC85)是用来对FX2N-8AV-BD模拟量功能扩展板中的电位器数值进行读操作。如图3-82所示,当X0ON时,读出FX2N-8AV-BD0号模拟量的值(由K0决定),将其送入D0作为T0的设定值。源操作数可取KH,它用来指定模拟量口的编号,取值范围为07;目标操作数可取KnYKnMKnSTCDVZ。该指令只有16位运算,占5个程序步。

 

 

3-82  模拟量输入指令的使用

6)模拟量开关设定指令  模拟量开关设定指令VRSC(P)FNC86)的作用是将FX-8AV中电位器读出的数四舍五入整量化后以010之间的整数值存放在目标操作数中。它的源操作数[S.]可取KH,用来指定模拟量口的编号,取值范围为07;目标操作数[D.]的类型与VRRD指令相同。该指令为16位运算,占9个程序步。