欢迎来到天天文库
浏览记录
ID:23936588
大小:25.00 KB
页数:4页
时间:2018-11-11
《看不懂的程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、看不懂的程序看不懂的程序 LAR1P#0.0 L#IN2 ITD SLD3 LAR2 OPN#IN0 CDB L#IN1 M002:T#TEMP5 LDIW[AR1,P#0.0] OPN”AM95_ALARMS_DB”DB211 TDBW[AR1,P#0.0] OPN”HMI_ALARMS_DB”DB210 ADIX[AR2,P#0.0] JCM003 L0 M003:TDBW[AR1,P#0.0] L0 TDIW[AR1,P#0.0] +AR1P#2.0 +AR2P#
2、0.1 L#TEMP5 这段程序中,HMI的报警变量比如:DB210.DBX900.0,但我在程序里面找不到这个线圈,也没有W和D的变量,DB210是不是被分配到这段程序中了?请指点一下。 最佳答案 这段程序注释如下: LAR1P#0.0//将地址指针常数P#0.0直接装载到地址寄存器AR1中,即AR1=P#0.0 L#IN2//将暂态变量#IN2的内容装载到累加器1中 ITD//将#IN2的内容中单字(16位)转换为双字整数(32位) SLD3/
3、/将上述转换的无符号的双字型整数左移3位,左移后空出的位补0 LAR2//将上述左移结果(累加器1中内容)写入地址寄存器AR2中 OPN#IN0//打开以符号名为IN0的背景数据块 CDB//交换共享数据块和背景数据块的内容 L#IN1//将暂态变量IN1的内容装入累加器1 M002:T#TEMP5//把IN1中内容传送到暂态变量#TEMP5中 LDIW[AR1,P#0.0]//相当于DIW0(AR1=P#0.0,加上偏移量P#0.0)中内容装载到累加器1 OPN”AM95_ALARMS_DB”D
4、B211//打开以符号名为”AM95_ALARMS_DB”数据块,即DB211 TDBW[AR1,P#0.0]//将DIW0中内容传送到DBW0中,即将共享数据块DB211中字DIW0的内容传送到共享数据块DB210的字DBW0中 OPN”HMI_ALARMS_DB”DB210//打开以符号名为”HMI_ALARMS_DB”的背景数据块,即DB210 ADIX[AR2,P#0.0]//将地址寄存器AR2中内容(暂态变量转换为双字整数后左移3位后的结果)加上偏移量P#0.0作为背景数据块DB210的数据字节
5、位 JCM003//如果逻辑操作结果为1则跳转到M003处 L0//将数字2#0000_0000_0000_0000装入累加器1 M003:TDBW[AR1,P#0.0]//将累加器1中内容0传送给共享数据块DB211的数据字DBW0 L0//将0装入累加器1 TDIW[AR1,P#0.0]//将累加器1中内容传给DIW0 +AR1P#2.0//将偏移量2.0加到地址寄存器AR1中 +AR2P#0.1//将偏移量0.1加到地址寄存器AR2中 L#TEMP5//将暂态变量TEMP5内容装载到累加器
6、1中 从以上注释可以看出,DB210是背景数据块,其符号名为HMI_ALARMS_DB”,由于暂态变量#IN2从这段程序无法找到具体的值,所以无法确认DIX[AR2,P#0.0]中地址寄存器AR2的具体值,它是一个背景数据块的某个数据字节的位。在这段程序中找不到DB210.DBX900.0,除非提供具体的暂态变量IN2的值。DB210被分配到这段程序中,但看不出对应的W和D的变量。
此文档下载收益归作者所有