找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1、这个问题问得比较大,确实不好回答,先看看数据类型,就可以了解存储区的划分与范围
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/Data_type.html
2、S7-200 SMART 系统中的数据及其格式,可以了解数据是怎么表示并存储的
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/Data_format.html
3、看完上面的后,再来看看对每种存储区是怎样寻址的,也就是怎样访问的。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/Data_addressing.html
4、建议按上面的顺序看,结手系统手册中的实例。
系统手册中第7章节对指令的绍中有很多实例,对照上面的三部分来理解。
S7-200 SMART V2.3系统手册
https://support.industry.siemens.com/cs/document/109745610
补充:
存储区分了这么多种,所有的数据都是以二进制形式存储的,二进制数的最小单位是位,所有的数据都是由一个一个位构成的,一个字节8个位,一个字是二个字节共16个位,一个双字是二个字共四个字节占用32个位。
存储区可以按位、字节、字或双字来存取,这样的存储区有 I、Q、V、M、SM、L、S区,这些字母就是存储区代码。
就拿 I 区来说,这个意思是:
首先我们要知道 I 区是要外围硬接线的,反映了外部的输入状态,这个状态可能是一个手自动转换开关、按钮、外部接触器的状态,变频器的运行反馈、故障反馈等等现场设备的状态信号。
我们看手册,所有的 200 SMART CPU来说 I 区的范围是 I0.0到I31.7,这是什么意思?
这是说 I 区按位寻址为:
I0.0、I0.1、I0.2、I0.3、I0.4、I0.5、I0.6、I0.7 第0字节
I1.0、I1.1、I1.2、I1.3、I1.4、I1.5、I1.6、I1.7 第1字节
I2.0、I2.1、I2.2、I2.3、I2.4、I2.5、I2.6、I2.7 第2字节
I3.0、I3.1、I3.2、I3.3、I3.4、I3.5、I3.6、I3.7 第3字节
顺序往下,直到
I28.0、I28.1、I28.2、I28.3、I28.4、I28.5、I28.6、I28.7 第28字节
I29.0、I29.1、I29.2、I29.3、I29.4、I29.5、I29.6、I29.7 第29字节
I30.0、I30.1、I30.2、I30.3、I30.4、I30.5、I30.6、I30.7 第30字节
I31.0、I31.1、I31.2、I31.3、I31.4、I31.5、I31.6、I31.7 第31字节
I0.0到I31.7一共是2562个位,每一位如果有外部接线,都可以表示一个外部号的状态。
换算成字节就是: 256个位 / 8个位每字节=32个字节,用 IB0 一直到 IB31 来表示,I 是存储区代码、B 是按字节寻址、0-31这个数字是字节序号。
换算成字就是: 256个位 / 16个位每字 =16个字 ,用 IW0、IW2 一直到 IW28、IW30 来表示,I 是存储区代码、W 是按字寻址、0、2-28、30这个数字是第个字的启始字节序号,这时你可能会有疑问,为什么序号不连续了,这是因为一个字有两个字节,VW0就包含了VB0、VB1字两个字节,同理VW30就包含了VB30、VB31字两个字节。
换算成双字就是:256个位 / 32个位每双字=8个双字 ,用 ID0 、ID4、一直到 ID24、ID28 来表示,I 是存储区代码、D 是按双字寻址、0、4-24、28这个数字是这个双字的启始节序号。同上理,此时 ID4包含了 IB0、IB1、IB2、IB3这连续的四个字节的32个位。
按照这个思路,对照对看资料,我想会理解的,万事开头难,世上无难事只怕有心人,加油。
2、说说我个人的看法:
I:数字量输入(DI)
Q:数字量输出(DO)
AI:模拟量输入
AQ:模拟量输出
上面4个分别对应外部模块的输入输出,应该不用多解释。
V:变量存储区,可以按位、字节、字或双字来存取V 区数据
M:位存储区,可以按位、字节、字或双字来存取M区数据
两个用法差不多,区别就是V区域比较大,M区域比较小,只有32个字节,所以叫做位存储区,就是使用位访问的时候,建议使用M,而字节 字 双字类型的,尽量使用V
T:定时器存储区,用于时间累计
当使用定时器的时候,就需要用到这个区域了
C:计数器存储区,用于累计其输入端脉冲电平由低到高的次数
计数器和定时器差不多,区别就是用于计数
HC:高速计数器,独立于 CPU 的扫描周期对高速事件进行计数,高速计数器的当前值是只读值,仅可作为双字(32 位)来寻址
这个是当用高速计数功能的时候才用到,HC0 HC1只能读不能写,是当前高速计数器的当前值
AC:累加器,可以像存储器一样使用的读/写器件,可以按位、字节、字或双字访问累加器中的数据
这个属于内部寄存器了,用间接寻址的时候能够用到,200SMART有4个累加器。
SM:特殊存储器,提供了在 CPU 和用户程序之间传递信息的一种方法。 可以使用这些位来选择和控制 CPU 的某些特殊功能, 可以按位、字节、字或双字访问 SM 位
这个是系统已经定义好的特殊功能的存储区域
L:局部存储区,用于向子例程传递形式参数
相当于临时变量,比如你在子程序里面,只有这个子程序内部能使用,别的地方不能用或者用不到,可以使用这个区域
S:顺序控制继电器,用于将机器或步骤组织到等效的程序段中,实现控制程序的逻辑分段。 可以按位、字节、字或双字访问 S 存储器
这个我没用过,不好意思
强烈推荐以仔细看看手册:
S7-200 SMART 系统手册 V2.2
http://www.ad.siemens.com.cn/download/docMessage.aspx?Id=6780
67页 4 PLC 概念
部分的内容,很基础,也介绍的很详细
最好你在编程序使用的过程中理解,能更快一些
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!