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

外部I/O设备指令优化方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:外部I/O设备指令仅ASC、FROM和TO指令可以仿真。该指令占用4个输入点和8个输出点。M8028为OFF时,在FROM和TO指令执行过程中,不禁止中断。

外部I/O设备指令优化方案

外部I/O设备指令仅ASC、FROM和TO指令可以仿真。

1.10键输入指令

10键输入指令TKY(FNC 70)只能使用一次。图4-85用X0作首软元件,10个键接在X0~X11上。假设以图中(1)、(2)、(3)、(4)的顺序按数字键X2、X1、X3和X0,则D0中存入数据2130,数据以二进制形式存于D0。若送入的数大于9999,高位数溢出并丢失。

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

图4-85 10键输入波形图

使用32位指令DTKY时,如果输入的数据大于99 999 999,则高位数据溢出。

TKY指令使用简单,但是占用的输入点较多。

2.16键输入指令

16键输入十六进制数指令HKY(FNC 71)用矩阵方式排列的16个键来输入BCD数字和6个功能键(A~F键)的状态,占用PLC的4个输入点和4个输出点。扫描全部16个键需要8个扫描周期。

HKY指令虽然能节约一些I/O点,但是接线复杂,扫描键盘的时间较长。

3.数字开关指令

数字开关指令DSW(FNC 72)用于读入一组或两组4位BCD码数字拨码开关的设置值,占用PLC的4个或8个输入点和4个输出点。

数字式开关指令具有与16键输入指令相同的问题,此外,每个数字拨码开关还需要外接4个二极管,接线较为复杂。TKY、HKY和DSW指令实际上很少使用。

4.七段码译码指令

七段码译码指令SEGD(FNC 73)将源操作数指定的软元件的低4位中的十六进制数0~F)译码后送给七段显示器显示,译码信号存于目标操作数指定的软元件中,占用7个输出点。

用PLC的4个输出点来驱动外接的七段译码驱动芯片,再用它来驱动七段显示器(见图4-6),能节省3个输出点,并且不需要使用译码指令。

5.七段码时间分割显示指令

七段码时间分割显示指令SEGL(FNC 74)用12个扫描周期,显示一组或两组4位数据,占用8个或12个晶体管输出点。(www.xing528.com)

6.箭头开关指令

箭头开关指令ARWS(FNC 75)用4只按钮来输入4位BCD数据,用4个带锁存的七段显示器来显示输入的数据。输入数据时用位左移、位右移按钮来移动要修改和显示的位,用加、减按钮增减该位的数据。该指令占用4个输入点和8个输出点。

SEGL指令和ARWS指令需要制作印制电路板,编程也比较麻烦。随着文本显示器和触摸屏价格的大幅度降低,这类指令已经没有什么实用价值,极少使用。

7.ASCII码转换指令

ASCII码转换指令ASC(FNC 76)将最多8个字符转换为ASCII码,并存放在指定的软元件中。

8.ASCII码打印指令

ASCII码打印指令PR(FNC 77)用于ASCII码的打印输出,PR指令和ASC指令配合使用,可以用外部显示单元显示出错信息。

9.读特殊功能模块指令

接在FX系列PLC基本单元右边扩展总线上的功能模块,从紧靠基本单元的那个开始,其编号依次为0~7。

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

图4-86 读/写特殊功能模块指令

图4-86中的X3为ON时,读特殊功能模块指令FROM(FNC 78)将编号为m1(0~7)的特殊功能模块内编号以m2(0~32767)开始的n个缓冲存储器的数据读入PLC,并存入从(D·)开始的n个字中,n=1~32 767。

10.写特殊功能模块指令

写特殊功能模块指令TO(FNC 79)的参数m1、m2和n的意义和取值范围与读特殊功能模块指令相同。

图4-86中的X0为ON时,TO指令将PLC基本单元中从(S·)指定的软元件开始的n个字的数据,写到编号为m1的特殊功能模块中从编号m2开始的n个缓冲存储器中。

M8028为ON时,在FROM指令和TO指令的执行过程中,禁止中断;在此期间发生的中断在FROM和TO指令执行完后执行。M8028为OFF时,在FROM和TO指令执行过程中,不禁止中断。

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

我要反馈