西门子PLC的P#指针说明
当Variant类型的实参指向形如P#DB1.DBX0.0 BYTE 10,指令内部将判断该形参为一个10字节的数组。
-----------------------------指针结构------------------------------------------------------------------------------
P#DB1.DBX0.0 BYTE 10这种结构起源于S7-300/S7-400的Any指针,S7-1200无法像S7-300/S7-400一样定义以及拆解Any指针,但是在参数类型为Variant时,可以输入这种指针。并且,如前所述,S7-1200将识别其为数组。
P#DB1.DBX0.0 BYTE 10的解释:指向从DB1.DBX0.0开始的10个字节,并且DB1必须是非优化的DB块,并包含有10字节长度的变量。
P#DB1.DBX位置可以替换成其他DB块号例如P#DB10.DBX,或者I区:P#I,Q区:P#Q,M区:P#M。
0.0的位置为这种指针的起始地址,例如1.0、100.0、......,并且小数点后一定是0。
BYTE位置可以是以下类型:Bool、Byte、Word、DWord、Int、DInt、Real、Char、Date、TOD、Time类型。
10的位置为指针执行前面数据类型的个数,Bool类型比较特殊,只能是1,或者8的倍数。
P#指针举例,P#I0.0 Bool 8,P#Q0.0 Word 20,P#M100.0 Int 50。