首页 理论教育 数据处理指令仿真实验优化

数据处理指令仿真实验优化

时间:2023-07-01 理论教育 版权反馈
【摘要】:设K2M20中仅有M27和M24为ON,M27在K2M20中的位数为7,指令执行完后写入D2中的数为错误代码7。图4-44 数据处理指令5.ON位判别指令ON位判别指令BON用来检测源操作数(S·)中的第n位是否为ON。若软元件超出指定的范围,n的值会自动缩小,只求允许范围内软元件的平均值。

数据处理指令仿真实验优化

1.成批复位指令

RST指令用于单个位软元件和字软元件的复位,成批复位指令ZRST(FNC 40)将(D1·)和(D2·)指定的软元件号范围内的同类软元件批量复位(见图4-41),目标操作数可以取T、C和D(字软元件)或Y、M和S(位软元件)。

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

图4-41 成批复位指令

定时器和计数器被复位时,其当前值变为0,常开触点断开,常闭触点闭合。

使用ZRST指令时应注意下列问题:

1)(D1·)和(D2·)指定的应为同一类软元件。

2)(D1·)应小于等于(D2·)。如果(D1·)的软元件号大于(D2·)的软元件号,则只有(D1·)指定的软元件被复位。

3)虽然ZRST指令是16位处理指令,(D1·)和(D2·)也可以指定32位计数器。

打开随书光盘中的例程“数据处理指令”后,打开GX Simulator,启动软元件监视视图,生成X窗口、Y窗口、M窗口和D窗口。在X0为OFF状态时,随机双击Y窗口的Y20~Y34中的若干个软元件,使它们为ON;将D窗口的D10~D19中任意的数据寄存器置为非零。然后双击X窗口中的X0,接通它的常开触点,观察成批复位的效果。

2.译码指令

假设源操作数(S·)最低n位的二进制数为N,译码指令DECO(FNC 41)将目标操作数(D·)中的第N位置为1,其余各位置0。

DECO指令相当于自动电话交换机的译码功能,源操作数的最低n位为电话号码,交换机根据它接通对应的电话机(使目标操作数中的对应位为ON)。

1)目标操作数(D·)为位软元件,n=1~8。n=8时,目标操作数为256点位软元件(28=256)。

2)目标操作数(D·)为字软元件,n=1~4。n=4时,目标操作数为16位(24=16)。

假设D0中是错误诊断程序给出的一个4位二进制数的错误代码,用来表示16个不会同时出现的错误,通过M0~M15(K4M0),用触摸屏上的16个指示灯来显示这些错误。如果D0中的错误代码为3,则译码指令“DECO D0 M0 K4”(见图4-42)将K4M0组成的字中的第3位(即M3)置为ON,触摸屏上仅M3对应的指示灯被点亮。

做仿真实验时首先给D0输入一个0~15范围内的数,双击X窗口中的X2,接通它的常开触点,观察DECO指令将M0~M15中的哪一位置为ON。

令X12为ON,X10和X11为OFF,X10~X12组成的3位二进制数为4。执行指令“DECO X10 D1 K3”后,D1仅第4位为1,D1的值为24=16。改变X10~X12的状态,观察D1的值,并解释原因。

3.编码指令

图4-43中的编码指令ENCO(FNC 42)将源操作数(S·)中为ON的最高位的二进制位数存入目标软元件(D·)的低n位。

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

图4-42 译码指令

978-7-111-40437-8-Chapter04-52.jpg(www.xing528.com)

图4-43 编码指令

1)源操作数为位软元件,n=1~8。n=8时,源操作数为256点位软元件(28=256)。

2)源操作数为字软元件,n=1~4。n=4时,源操作数为16位的字(24=16)。

设某系统的8个错误对应于M区中连续的8位(M20~M27),地址越高的位的错误优先级越高。编码指令“ENCO M20 D2 K3”将M20~M27(K2M20)中地址最高的为ON状态的位在字中的位数写入D2。设K2M20中仅有M27和M24为ON,M27在K2M20中的位数为7,指令执行完后写入D2中的数为错误代码7。在触摸屏中,用8状态的信息显示单元来显示8条事故信息,用D2中的数字来控制显示哪一条信息。

假设16层电梯的每个楼层都有一个指示电梯所在楼层的限位开关(X20~X37),执行编码指令“ENCO X20 D10 K4”后,D10中是轿厢所在的楼层数。

做仿真实验时首先将M20~M27中的若干个辅助继电器置为ON,双击X窗口中的X3(见图4-43),接通它的常开触点,观察ENCO指令写入D2的数字,并解释原因。

编码指令“ENCO D3 D4 K3”中的n=3,源操作数为8位。用软元件批量监视视图的“位&字”显示方式监视D3和D4,在D3中输入0~255的数字。在X3为ON时观察D4的值,并解释原因。

4.ON位数指令

位元件的值为1时称为ON,ON位数指令SUM(FNC 43)统计源操作数中为ON的位的个数,并将它送入目标操作数。

假设X10~X27对应于16台设备,其中的某一位为ON表示对应的设备正在运行。可以用图4-44中的SUM指令来统计16台设备中有多少台正在运行。

做仿真实验时首先将X窗口的X10~X27中的若干位双击为ON,再令X4为ON,接通它的常开触点,观察SUM指令写入D5的数字,并解释原因。

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

图4-44 数据处理指令

5.ON位判别指令

ON位判别指令BON(FNC 44)用来检测源操作数(S·)中的第n位是否为ON。若为ON,则位目标操作数(D·)变为ON,目标软元件是源操作数中指定位的状态的镜像

做仿真实验时令X4为ON,执行图4-44中的BON指令,改变字K4Y10中第9位(n =9)Y21的状态,观察目标操作数M4状态的变化。

6.平均值指令

平均值指令MEAN(FNC 45)用来求1~64个源操作数的代数和被n除的商,余数略去。

(S·)是源操作数的起始软元件号,目标操作数用来存放运算结果。图4-44中的MEAN指令求D6~D8中数据的平均值。若软元件超出指定的范围,n的值会自动缩小,只求允许范围内软元件的平均值。

做仿真实验时首先设置D6~D8的数值,双击X窗口中的X4,执行MEAN指令。观察D9中的平均值是否正确。

7.二进制开平方运算指令

二进制开平方运算指令SQR(FNC 48)的源操作数(S·)应大于零,可以取K、H和D,目标操作数为D。计算结果舍去小数,只取整数。如果源操作数为负数,则运算错误标志M8067将会变为ON。图4-44中的X4为ON时,将存放在D20中的整数开平方,运算结果得到的整数存放在D21中。

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

我要反馈