| 作者 | 主题 |
|---|---|
|
qingdao 侠客 经验值:881 发帖数:120 精华帖:1 |
楼主
主题:AT指令和Slice 访问有啥不同?
AT指令和Slice 访问有啥不同?粗略用了一下,感觉很类似。
应用的变量类型有啥区别么? |
|
伊默 至圣 经验值:19231 发帖数:4256 精华帖:118 |
27楼
主题:回复:AT指令和Slice 访问有啥不同?其实AT还有一个非常好用的地方, 几乎是非用不可. 我使用ET200S的步进模块, 它的控制字首个双字(偏移量为0)有两种情况:一种是在位置模式下用DINT类型表示目标位置. 另一种是在速度模式下用REAL类型表示目标速度. 而我又需要建立一个用户数据类型(UDT) , 在这个UDT里我必须要事先指定数据类型, 比如我的项目要经常用到位置模式, 那么我将数据类型设为DINT. 然后现在突然有个项目来了, 我即需要用位置模式,又要速度模式. 当我使用位置模式时, 可以直接将一个DINT类型的变量赋值给该控制字 "yRW_EP".ControlData := DINT_TO_DWORD(#PulseTarget_EP); //位置给定 而当我使用速度模式时, 我需要将一个REAL类型赋值给"yRW_EP".ControlData. 可是"yRW_EP".ControlData的数据类型为 DINT. 肿么办? 这个时候AT就能救命了! #RealData0 := INT_TO_REAL(#ManSpd_EP)*5.0E+3/5/10; "yRW_EP".ControlData := #DWatReal0; //速度给定(正转)
I can do it
|