quote:以下是引用火麒麟在2011-12-07 08:30:18的发言:quote:以下是引用yiutyi在2011-12-06 08:29:56的发言:quote:以下是引用火麒麟在2011-12-05 15:39:36的发言:
不知道大家在什么地方用到ANY的多?
我主要用于通讯程序,比如S7通讯或者ModbusTCP从站通讯程序块中,因为有很多系统功能块输入变量都是ANY类型的,程序中处理非常方便。
1.结合UDT来做多数据处理,指针配合UDT可以实现很多方便的功能,比如db块有30个UDT,每个UDT占100个字节,每个UDT中有对应设备的参数和状态,通过指针我可以快速的刷新参数(ar1每次+100),更新状态或者实现设备的动作控制等等。。
2.编写通信协议,比如modbus tcp,串口通信,或者用个md720-3发发短信什么的,用指针非常方便。
3.编写一些算法,循环啊,累计啊,比较啊什么的,没有指针也不是不可以,就是比较累。
yiutyi大侠能具体说说你在ModbusTCP中是如何用ANY的吗?
火麒麟大侠,我写的一部分代码,抛砖引玉...
//START TO MAKE PDU
L 6 //SLAVE ADDRESS(1BYTE)+FUNCTION CODE (1BYTE)+START ADDRESS(2 BYTE )+FORCE VALUE(2BYTE)
T #PDU.SEND_LEN
L 5 //FORCE SINGLE COIL(05)
T #PDU.FUNCTION_CODE
L #ADDR //START ADDRESS
DEC 1
T #PDU.START_ADDR
L P##DATAPTR
LAR1
L W [AR1,P#0.0]
T #DB_NUM
OPN DB [#DB_NUM]
L D [AR1,P#2.0]
LAR1
L B [AR1,P#0.0]
L 0
>I
JCN ZERO
L L#65280 //W#16#FF00==TRUE==L#65280
T #PDU.LEN
JC SEND
ZERO: NOP 0
L 0
T #PDU.LEN //W#16#0000==FALSE
JC SEND