西门子中 L DB13.DBB 1 L B#16#1 ==l 是什么意思?

首先感谢您的回答,程序截图如下,请您详细讲解一下,谢谢

注释:这是用STL(语句表)编写的两段字节型数据比较程序
第一行: L DB13.DBB1
解释:读取编号为13的数据块中编号为1的字节型数据,注意,西门子的PLC地址编号都是从0开始的,编号为1的字节实际上是第二个字节,第一个字节的编号是0)
第二行: L B#16#1
解释:读取一个8位16进制的常量“1”,或者说读取一个字节型16进制常数“1”,反正就是一个常数“1”
第三行: ==I
解释:整数型比较指令“等于”,它的作用是比较上面读取的两个数值是否相等,也就是比较一下“DB13.DBB1”是否等于16进制的“1”
第四行:JC YXL
解释:“JC”是有条件的跳转指令,当第三行的比较结果是“相等”时,跳转到标签为“YXL”的程序段,这里的“YXL”是编程者自己定义的一个标签名字,可以随便写,便于自己记忆就行。你往下翻肯定能找到一个小方框里边写着“YXL”,这就是标签,只要前边的比较结果是“等于”,从第五行一直到目标标签中间的程序就不再执行了,直接跳到目标标签处并继续向下执行后边的程序;但是如果第三行处的比较结果不是“等于”,也就是说只要DB13.DBB1不是16进制的1,那么就不执行跳转指令,继续执行第五行程序

后边的程序与前边的就一样了,不需要重复解释了追问

L 14
T MB22
这两句是什么意思呢,L指令后面不应该是地址吗?

追答

常量变量都可以,这两句意思就是把14赋值给MB22

这两句和梯形图中的MOVE指令是一样的效果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-17
你这个图片有两个比较,第一次是和16进制的1比较,第二次是和16进制的4比较,如果和1相等就跳转到YXL处。
反正大意就是如此,这是西门子的STL编程,有相关手册的,你可以去搜索看看。
相似回答