首页 理论教育 外部设备指令优化方案

外部设备指令优化方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:FX系列外部设备指令包括与串行通信有关的指令、模拟量功能扩展板处理指令和PID运算指令。仅ASCI和HEX指令可以仿真。M8161为ON时指令为8位模式,转换后的每一个ASCII码传送给目标操作数的低8位,其高8位为0。图4-88 VRRD指令图4-89 VRSC指令8.PID运算指令PID运算指令用于模拟量闭环控制。PID运算所需的参数存放在指令指定的数据区内。PID指令的使用方法见6.2节。

外部设备指令优化方案

FX系列外部设备指令(FNC 80~89)包括与串行通信有关的指令、模拟量功能扩展板处理指令和PID运算指令。仅ASCI和HEX指令可以仿真。

1.串行数据传送指令

图4-87中串行数据传送指令RS(FNC 80)用于通信用的功能扩展板和特殊适配器发送和接收串行数据。

(S·)和m用来指定发送数据缓冲区的首地址和数据寄存器的个数,(D·)和n用来指定接收数据缓冲区的首地址和数据寄存器的个数。源操作数和目标操作数为D,m和n(FX1S和FX1N为1~255点,其他系列为1~4096点)可以使用常数和D。

数据的传送格式(例如数据位数、奇偶校验位、停止位、波特率、是否有调制解调等)可以用初始化脉冲M8002和MOV指令写入串行通信用的特殊数据寄存器D8120,具体的使用方法参见FX的编程手册。

978-7-111-40437-8-Chapter04-104.jpg

图4-87 与通信有关的指令

2.八进制位传送指令

八进制位传送指令PRUN(FNC 81)用于传送八进制位数据,将数据送入位发送区或从位接收区读出。图4-87中的X30为ON时,将X20~X27传送到M810~M817,将X30~X37传送到M820~M827。数据不会写入M818和M819,因为它们不属于八进制计数系统。指定的软元件号的最低位应为0。

3.HEX→ASCII转换指令

ASCI指令(FNC 82)将十六进制数转换为ASCII码。M8161为OFF时为16位模式,每4个十六进制数占一个数据寄存器,转换后每两个ASCII码占一个数据寄存器,转换的字符个数由n指定,n=1~256。M8161为ON时指令为8位模式,转换后的每一个ASCII码传送给目标操作数的低8位,其高8位为0。

4.ASCII→HEX转换指令

HEX指令(FNC 83)将ASCII码转换为十六进制数,它只有16位运算,n=1~256。

M8161为OFF时为16位模式,HEX指令将最多256个ASCII码转换为4位十六进制数,传送给(D·),每两个ASCII码占一个数据寄存器,每4个ASCII码转换后的十六进制数占一个数据寄存器,转换的字符个数由n指定。

M8161为ON时为8位模式,每个ASCII码占一个数据寄存器,只转换源操作数低8位中的ASCII码。(www.xing528.com)

5.校验码指令

校验码指令CCD(FNC 84)与串行通信指令RS配合使用,它将(S·)指定的元件开始的n点(n=1~256)数据的高低字节(8位模式仅低字节)分别求和与作水平校验。每个字节的同一位中1的个数为奇数时,水平校验码的同一位为1,反之为0。水平校验实际上是多个字节的异或运算。

运算后将累加和存入目标操作数(D·),水平校验的结果存入(D·)+1。求和与水平校验的结果随同数据发送出去,对方收到后对接收到的数据也作同样的求和与水平校验运算,并判别接收到的运算结果是否等于自己求出的结果,如不等则说明数据传送出错。

6.电位器值读出指令

FX2N-8AV-BD是内置式8位8路模拟量功能扩展板,板上有8个小电位器,用电位器值读出指令VRRD(FNC 85)读出的数据(0~255)与电位器的角度成正比。源操作数(S·)为常数0~7,用来指定FX2N-8AV-BD的模拟量编号。

图4-88中的X0为ON时,因为(S·)为0,读出0号模拟量的值,送到D0后作为定时器T0的设定值。也可以用乘法指令将读出的数乘以某一系数后作为设定值。

7.电位器刻度指令

电位器刻度指令VRSC(FNC 86)将从电位器读出的数四舍五入,整量化为0~10的整数值,存放在(D·)中,这时电位器相当于一个有11挡的模拟开关。图4-89通过VRSC指令和解码指令DECO,根据模拟开关的刻度0~10来分别控制M0~M10的ON/OFF。

978-7-111-40437-8-Chapter04-105.jpg

图4-88 VRRD指令

978-7-111-40437-8-Chapter04-106.jpg

图4-89 VRSC指令

8.PID运算指令

PID(比例 微分 积分)运算指令(FNC 88)用于模拟量闭环控制。PID运算所需的参数存放在指令指定的数据区内。PID指令的使用方法见6.2节。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈