回复:关于scl编程的一点疑问

还是新手

  • 帖子

    547
  • 精华

    6
  • 被关注

    23

论坛等级:侠圣

注册时间:2008-06-07

普通 普通 如何晋级?

发布于 2012-09-19 20:15:00

4楼

quote:以下是引用杭州小子在2012-09-19 12:52:50的发言:
quote:以下是引用还是新手在2012-09-19 08:15:24的发言:
不用AT指令。在FB内部定义UDT就可以了。定义UDT格式:
TYPE XXX //for UDT name
STRUCT
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
END_STRUCT
END_TYPE

这样本FB接口标签或Sata变量类型就可以定义为XXX(你建的UDT)类型了。
例如:

VAR
abc:XXX; // Static Variables,XXX为在程序内部定义的UDT

END_VAR

感谢楼上的回答,定义UDT倒是可以,不过如何读取外面的数据呢?是否还是需要利用sfc14来读取。比如从IW100.0开始连续读取100个byte.
主要是用在DPcoupling通讯。而且我看说明似乎是sfc14的存取地址要创建一个any类型的struct。

??没明白读外部数据用sfc14干嘛??
直接PIW不就OK了。读100个byte循环50次不就OK了吗???
下边程序供参考:
VAR_INPUT
BeginAdd:INT;
END_VAR
VAR
count:INT;
aaa: ARRAY[0..49] OF INT;
END_VAR

FOR count:= 0 TO 49 BY 1 DO
aaa[count]:=WORD_TO_INT(PIW[BeginAdd+2*count]);
END_FOR;
如果想放到对应UDT里。定义好UDT就行了,一样放。
欢迎关注西门子民间技术支持微信公众帐号。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。