技术论坛

 回复:AT指令和Slice 访问有啥不同?

返回主题列表
作者 主题
qingdao
侠客

经验值:881
发帖数:120
精华帖:1
楼主    2014-12-02 17:07:24
主题:AT指令和Slice 访问有啥不同? 精华帖 
AT指令和Slice 访问有啥不同?粗略用了一下,感觉很类似。
应用的变量类型有啥区别么?
伊默
至圣

经验值:19231
发帖数:4256
精华帖:118
27楼    2015-10-20 10:41:33
精华帖  主题:回复: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
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。