我在临时变量(TEMP)表中声明了一个字的BOOL型变量,想把这一个字的BOOL型变量组合成一个单独的字输出,之前在300/400中可以使用L绝对寻址应该可以,但是在PORTAL里面提示不能使用L绝对寻址,只能进行符号寻址,请问高手怎么实现啊?附图1
图片说明:
最佳答案
你好,根据你的描述,感觉你是对word类型的Temp变量,即想对整个字来使用操作,又想对整个字里的某个位来使用操作。1200与300/400相比,还是又不相同的地方的。
如果是这样,有两种方法。
第一种方法,建议你使用AT覆盖变量。见图1。
在图1中,temp1是一个word类型,可以直接对它操作,如果想对它(temp1)里的位进行操作,可以使用ABC这个变量,ABC这个变量是temp1的副本(AT变量),它们是等同的。你可以看到它们地址是相同的。
关于AT变量的操作,你可以看Portal V11软件中的帮助。或者看手册“STEP 7 Professional V11.0 SP2”
下载地址:STEP 7 Professional V11.0 SP2
http://support.automation.siemens.com/CN/view/zh/57185407
请看9.1章节的“使用AT覆盖变量”,见图2。
第二种方法,建议你使用slice方法。见图3。
在图3中,程序段1中,直接对temp1的位(如#temp1.x0等)做操作,若想对字节操作,可以填写#temp1.b0即可。
关于slice方法的帮助看手册“STEP 7 Professional V11.0 SP2”
也是看9.1章节的“对变量各位的寻址”。见图4。
图片说明:
提问者对于答案的评价:
很好,简单易懂,谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc208635.html