登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:s7-1200数据结构

点击:3085 回复:7

S7-300可以把数据结构(STRCUT)
名称 数据内型 偏移良
R1 STRCUT   0
CW STRCUT   字 0
cw1 bool    0.0
cw2 bool   0.1
cw3 bool    0.2
cw4 bool   0.3
CW5 bool   0.4
CW6 bool   0.5
CW7 bool   0.6
CW8 bool   0.7
CW9 bool   1.0
CW10 bool  1.1
等16位布尔量,用END_STRCUT来结束。在应用时,cw5位置1时,可以用传送MOV DB1.DBW0 mw200,请问一下s7-1200可以这样应用。
15-01-11 13:48
正在学习使用s7-1200软件,没用过这个,话说系统手册内容比s7-200多太多了,1k多页
15-01-11 20:04

引用 yuanqijun88 在 2015/1/11 13:48:34 发言【内容省略】

您可以在S7-1200创建新的数据类型,例如您这个结构变量。
附件 snap1.jpg
但是,仅能在DB中定义变量类型为用户定义(UDT)的变量,在PLC的变量表内无法定义。
附件 snap2.jpg
为了使用这个定义的结构变量,所以需要创建一个DB,并在DB中定义类型为结构的变量。
同时,因为博图需要先定义,再使用变量,所以需要将DB1.DBW0定义一个符号,例如这里的AAA,这样就可以使用了。
附件 snap3.jpg
Good Luck~
15-01-11 20:46
谢谢!非常好!
15-01-12 11:39
我是说:如果CW1-CW16这16位布尔量,其中有一位或几位为1时。
例如:cw1等于1  cw4也等于1时,二进制位0000000000001001   十进制等于9, 把十进制9传送到mw200中
15-01-12 13:47
楼主 这个当然可以啊 S7-1200还是很好用的  特别是数据块 楼主直接建立了16位变量 可以直接读取这个字
最后修改:2015/1/12 15:39:13
15-01-12 15:38
S7-300可以把数据结构(STRCUT)
名称 数据内型 偏移良
R1 STRCUT   0
CW STRCUT   字 0
cw1 bool    0.0
cw2 bool    0.1
cw3 bool    0.2
cw4 bool    0.3
CW5 bool    0.4
CW6 bool    0.5
CW7 bool    0.6
CW8 bool    0.7
CW9 bool    1.0
CW10 bool   1.1
CW12 bool   1.2
CW13 bool   1.3
CW14 bool   1.4
CW15 bool  1.5
CW16 bool  1.6
END_STRUCT
我是说:如果CW1-CW16这16位布尔量,其中有一位或几位为1时。
例如:cw1等于1  cw4也等于1时,二进制位0000000000001001   十进制等于9, 把十进制9传送到mw200中.
请问一下s7-1200能不能这样应用。问题是,s7-1200能块复位,也不能块置位。只能在DB块中建立数组  bool  cw1-cw16.才能块复位或置位。
15-01-12 16:06

引用 yuanqijun88 在 2015/1/12 16:06:57 发言【内容省略】

西门子PLC支持位引用,你的这种要求还有必要建立一个16位的结构变量吗,直接MOV DB1.DBW0  MW200就完事了。
至于块复位,MOV 0 DB1.DBW0就给DB1.DBX0.0~DBX1.7复位了,置位同理。
Good Luck~
15-01-12 21:09

工控新闻

更多新闻资讯