S7-200 的 160个常见问
解答之一
1:Step7 Micro/WIN V4.0 安装在什么环境下才能正常工作?
Step7 Micro/WIN V4.0 的安装、运行环境为:
Windows 2000 SP3 以上
Windows XP Home
Windows XP Professional
西门子没有在其他操作系统下测试,不保证能够使用。
2:Step7 Micro/WIN V4.0 和其他的版本兼容性如何?
Micro/WIN V4.0 生成的项目文件,旧版本的 Micro/WIN 不能打开或上载。
3:siemens200 PLC 硬件版本有什么区别?
二代 S7-200(CPU22x)系列也分几个主要的硬件版本。
6ES721x-xxx21-xxxx 是 21 版;6ES721x-xxx22-xxxx 是 22 版。
22 版与 21 版相比,硬件、软件都有改进。22 版向下兼容 21 版的功能。
22 版与 21 的主要区别是:
21 版 CPU 的自由口通讯速率 300、600 被 22 版的 57600、115200 所取代,22 版不再支
持 300 和 600 波特率 ,22 版不再有智能模块位置的限制
4:plc 的电源改如何连接?
在给 CPU 进行供电接线时,一定要特别小心分清是哪一种供电方式,如果把 220VAC 接
到 24VDC 供电的 CPU 上,或者不小心接到 24VDC 传感器输出电源上,都会造成 CPU 的损
坏。
5:200PLC 的处理器是多少位的?
S7-200 CPU 的中央处理芯片数据长度为 32 位。从 CPU 累加器 AC0/AC1/AC2/AC3 的数据
长度也可以看出。
6:如何进行 S7-200 的电源需求与计算?
S7-200 CPU 模块提供 5VDC 和 24VDC 电源:
当有扩展模块时 CPU 通过 I/O 总线为其提供 5V 电源,所有扩展模块的 5V 电源消耗之和
不能超过该 CPU 提供的电源额定。若不够用不能外接 5V 电源。
每个 CPU 都有一个 24VDC 传感器电源,它为本机输入点和扩展模块输入点及扩展模块继
电器线圈提供 24VDC。如果电源要求超出了 CPU 模块的电源定额,你可以增加一个外部
24VDC 电源来提供给扩展模块。
所谓电源计算,就是用 CPU 所能提供的电源容量,减去各模块所需要的电源消耗量。
注意:
EM277 模块本身不需要 24VDC 电源,这个电源是专供通讯端口用的。24VDC 电源需
求取决于通讯端口上的负载大小。
CPU 上的通讯口,可以连接 PC/PPI 电缆和 TD 200 并为它们供电,此电源消耗已经
不必再纳入计算。
7:200PLC 能在零下 20 度工作吗?
S7-200 的工作环境要求为:
0°C-55°C,水平安装
0°C-45°C,垂直安装
相对湿度 95%,不结露
西门子还提供 S7-200 的宽温度范围产品(SIPLUS S7-200):
工作温度范围:-25°C-+70°C
相对湿度:55°C 时 98%,70°C 时 45%
其他参数与普通 S7-200 产品相同
S7-200 的宽温型产品,每种都有其单独的订货号,可以到 SIPLUS 产品主页查询。如果
没有找到,则说明目前没有对应的 SIPLUS 产品。
文本和图形显示面板没有宽温型产品。
还要注意国内没有现货,如需要请和当地西门子办事处或经销商联系。
8:数字量输入/输出(DI/DO)响应速度有多快?能作高速输入和输出吗?
S7-200 在 CPU 单元上设有硬件电路(芯片等)处理高速数字量 I/O,如高速计数器(输
入)、高速脉冲输出。这些硬件电路在用户程序的控制下工作,可以达到很高的频率;
但点数受到硬件资源的限制。
S7-200 CPU 按照以下机制循环工作:
读取输入点的状态到输入映像区
执行用户程序,进行逻辑运算,得到输出信号的新状态
将输出信号写入到输出映像区
只要 CPU 处于运行状态,上述步骤就周而复始地执行。在第二步中,CPU 也执行通讯、
自检等工作。
上述三个步骤是 S7-200 CPU 的软件处理过程,可以认为就是程序扫描时间。
实际上,S7-200 对数字量的处理速度受到以下几个因素的限制:
输入硬件延时(从输入信号状态改变的那一刻开始,到 CPU 刷新输入映像区时能够识别
其改变的时间)
CPU 的内部处理时间,包括:
读取输入点的状态到输入映像区
执行用户程序,进行逻辑运算,得到输出信号的新状态
将输出信号写入到输出映像区
输出硬件延时(从输出缓冲区状态改变到输出点真实电平改变的时间)
上述 A,B,C 三段时间,就是限制 PLC 处理数字量响应速度的主要因素。
一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器
动作时间等
表 1. 输入点硬件延时
以上数据都在《S7-200 系统手册》中标明,这里只是列表比较。CPU 上的部分输入点延
时(滤波)时间可以在编程软件 Micro/WIN 的“系统块”中设置,其缺省的滤波时间是
6.4ms。
如果把容易受到干扰的信号接到 CPU 上可改变滤波时间的 DI 点上,调整滤波时间可能
改善信号检测的质量。
支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输
入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。
表 2. CPU 输出硬件延时
有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设
计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理
继电器输出开关频率为 1Hz。
表 3. 扩展模块输出硬件延时
9:S7-200 处理快速响应信号的对策有那些?
使用 CPU 内置的高速计数器和高速脉冲发生器处理序列脉冲信号
使用部分 CPU 数字量输入点的硬件中断功能,在中断服务程序中处理;进入中断的延时
可以忽略
S7-200 拥有“直接读输入”和“直接写输出”指令,可以越过程序扫描周期的时间限
制
使用部分 CPU 数字量输入点的“脉冲捕捉”功能捕捉短暂的脉冲
注意: S7-200 系统中最小周期的定时任务为 1ms。
所有实现快速信号处理的措施,都要考虑所有限制因素的影响。例如,为一
个需要毫秒级响应速度的信号选择 500μs 输出延时的硬件,显然是不合理的。
10:S7-200 程序扫描时间和程序大小有关系吗?
程序扫描时间与用户程序的大小成正比。
《S7-200 系统手册》中有每个指令所需执行时间的数据。实际上很难事先预先精确计算
出程序扫描时间,特别是还没有开始编程序时。
可以看出,常规的 PLC 处理模式不适合时间响应要求高的数字量信号。可能需要根据
具体任务采用一些特别的
。
11:CPU224 XP 高速脉冲输出最快能达到多少?
CPU224 XP 的高速脉冲输出 Q0.0 和 Q0.1 支持高达 100KHz 的频率。
Q0.0 和 Q0.1 支持 5 - 24VDC 输出。但是它们必须和 Q0.2 - Q0.4 一起成组输出相
同的电压。高速输出只能用在 CPU224 XP DC/DC/DC 型号
12:CPU 224 XP 本体上的模拟量输入也是高速响应的吗?
它的响应速度是 250ms,不同于模拟量扩展模块的数据。CPU 224 XP 本体上的模
拟量 I/O 芯片与模拟量模块所用的不同,应用的转换原理不同,因此精度和速度不一样。
13:CPU 224 XP 后面挂的模拟量模块的地址如何分配?
S7-200 的模拟量 I/O 地址总是以 2个通道/模块的规律增加。所以 CPU 224 XP 后
面的第一个模拟量输入通道的地址为 AIW4;第一个输出通道的地址为 AQW4,AQW2 不能
用。
14:S7-200 CPU 上的通讯口支持哪些讯
?
1)PPI 协议:西门子专为 S7-200 开发的通讯协议
2)MPI 协议:不完全支持,只能作从站
3)自由口模式:由用户自定义的通讯协议,用于与其他串行通讯设备通讯(如串
行打印机等)。
S7-200 编程软件 Micro/WIN 提供了通过自由口模式实现的通讯功能:
1)USS 指令库:用于 S7-200 与西门子变频器(MM4 系列、SINAMICS G110 和老的
MM3 系列)
2)Modbus RTU 指令库:用于与支持 Modbus RTU 主站协议的设备通讯
S7-200 CPU 上的两个通讯口基本一样,没有什么特殊的区别。它们可以各自在不
同的模式、通讯速率下工作;它们的口地址甚至也可相同。分别连接到 CPU 上两个通讯
口上的设备,不属于同一个网络。S7-200 CPU 不能充当网桥的作用。
15:S7-200 CPU 上的通讯口都能干什么用?
1)安装了编程软件 Micro/WIN 的编程电脑可以对 plc 编程
2)可以连接其他 S7-200 CPU 的通讯口组成网络
3)可以与 S7- 300/400 的 MPI 通讯口通讯
4)可以连接西门子的 HMI 设备(如 TD 200、TP170micro、TP170、TP270 等)
5)可以通过 OPC Server(PC Access V1.0)进行数据发布
6)可以连接其他串行通讯设备
7)可以与第三方 HMI 通讯
16:S7-200 CPU 上的通讯口是否可以扩展?
不能扩展出与 CPU 通讯口功能完全一样的通讯口。
在 CPU 上的通讯口不够的情况下,可以考虑:
购买具有更多通讯口的 CPU
考察连接设备的种类,如果其中有西门子的人机界面(HMI,操作面板),可以考
虑增加 EM277 模块,把面板连接到 EM277 上
17:S7-200 CPU 上的通讯口,通讯距离究竟有多远?
《S7-200 系统手册》上给出的数据是一个网段 50m,这是在符合
的网络条件
下,能够保证的通讯距离。凡超出 50m 的距离,应当加中继器。加一个中继器可以延长
通讯网络 50 米。如果加一对中继器,并且它们之间没有 S7-200 CPU 站存在(可以有
EM277),则中继器之间的距离可以达到 1000 米。符合上述要求就可以做到非常可靠的
通讯。
实际上,有用户做到了超过 50m 距离而不加中继器的通讯。西门子不能保证这样
的通讯一定成功。
18:用户在
网络时,应当考虑到哪些因素?
S7-200 CPU 上的通讯口在电气上是 RS-485 口,RS-485 支持的距离是 1000m
S7-200 CPU 上的通讯口是非隔离的,需要注意保证网络上的各通讯口电位相等
信号传输条件(网络硬件如电缆、连接器,以及外部的电磁环境)对通讯成功与
否的影响很大
19:S7-200 的有实时时钟吗?
CPU221、CPU222 没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。
CPU224、CPU226 和 CPU226 XM 都有内置的实时时钟。
20:如何设置日期、时间值,使之开始走动?
1)用编程软件(Micro/WIN)的菜单命令 PLC > Time of Day Clock...,通过与
CPU 的在线连接设置,完成后时钟开始走动
2)编用户程序使用 Set_RTC(设置时钟)指令设置。
21:智能模块的地址是如何分配的?
S7-200 系统中除了数字量和模拟量 I/O 扩展模块占用输入/输出地址外,一些智能
模块(特殊功能模块)也需要在地址范围中占用地址。这些数据地址被模块用来进行功
能控制,一般不直接连接到外部信号。
CP243-2(AS-Interface 模块)除了使用 IB/QB 作为状态和控制字节外,AI 和 AQ
用于 AS-Interface 从站的地址映射。
22:Step7 - Micro/WIN 的兼容性如何?
目前常见的 Micro/WIN 版本有 V4.0 和 V3.2。再老的版本,如 V2.1,除了用于转
化老项目文件,已经没有继续应用的价值。
不同版本的 Micro/WIN 生成的项目文件不同。高版本的 Micro/WIN 能够向下兼容
低版本软件生成的项目文件;低版本的软件不能打开高版本保存的项目文件。建议用户
总是使用最新的版本,目前最新的版本是 Step7 - Micro/WIN V4.0 SP1。
23:通讯口参数如何设置?
缺省情况下,S7-200 CPU 的通讯口处于 PPI 从站模式,地址为 2,通讯速率为 9.6K。
要更改通讯口的地址或通讯速率,必须在系统块中的 Communicaiton Ports(通讯
端口)选项卡中设置,然后将系统块下载到 CPU 中,新的设置才能起作用。
24:如何设置通讯口参数才能提高网络的运行性能?
假设一个网络中有 2号站和 10 号站作为主站,(10 号站的)最高地址设置为 15。
则对于 2号站来说,所谓地址间隙就是 3到 9的范围;对于 10 号站来说,地址间隙就
是 11 到最高站址 15 的范围,同时还包括 0号和 1号站。
网络通讯中的主站之间会传递令牌,分时单独控制整个网络上的通讯活动。网络
上的所有主站不会同时加入到令牌传递环内,因此必须由某个持有令牌的主站定时查看
比自己高的站址是否有新的主站加入。刷新因数指的就是在第几次获得令牌后检查一次
高站址。
如果为 2号站设置了地址间隙因数 3,则在 2号站第三次拿到令牌时会检查地址间
隙中的一个地址,看是否有新的主站加入。
设置比较大的因数会提高网络的性能(因为无谓的站址检查少了),但会影响新
的主站加入的速度。如下设置会使网络的运行性能提高:
1)设置最接近实际最高站址的最高地址
2)使所有主站地址连续排列,这样就不会再进行地址间隙中的新主站检测。
25:如何设置数据保持功能?
数据保持设置定义 CPU 如何处理各数据区的数据保持任务。在数据保持设置区中
选中的就是要“保持”其数据内容的数据区。所谓“保持”就是在 CPU 断电后再上电,
数据区域的内容是否保持断电前的状态。在这里设置的数据保持功能靠如下几种方式实
现:
在这里设置的数据保持功能靠 CPU 内置的超级电容实现,超级电容放电完毕后,
如果安装了外插电池(或 CPU221/222 用的时钟/电池)卡,则电池卡会继续数据保持的
电源供电,直到放电完毕数据在断电前被自动写入相应的 EEPROM 数据区中(如果设置
MB0 - MB13 为保持)
26:数据保持设置与 EEPROM 有什么关系?
如果将 MB0 - MB13 共 14 个字节范围中的存储单元设置为“保持”,则 CPU 在断
电时会自动将其内容写入到 EEPROM 的相应区域中,在重新上电后用 EEPROM 的内容覆盖
这些存储区
如果将其他数据区的范围设置为“不保持”,CPU 会在重新上电后将 EEPROM 中数值
复制到相应的地址
如果将数据区范围设置为“保持”,如果内置超级电容(+电池卡)未能成功保
持数据,则会将 EEPROM 的内容覆盖相应的数据区,反之则不覆盖
27:设置的密码分哪几种?
在系统块中设置 CPU 密码以限制用户对 CPU 的访问。可以分等级设置密码,给其
他人员开放不同等级的权限。
28:设置了 CPU 密码后,为何看不出密码已经生效?
在系统块中设置了 CPU 密码并下载后,因为你仍然保持了 Micro/WIN 与 CPU 的通
讯连接,所以 CPU 不会对设置密码的 Micro/WIN 做保护。
要检验密码是否生效,可以:
1)停止 Micro/WIN 与 CPU 的通讯一分钟以上
2)关闭 Micro/WIN 程序,再打开
3)停止 CPU 的供电,再送电
29:数字量/模拟量有冻结功能吗?
数字量/模拟量输出表规定的是当 CPU 处于停机(STOP)状态时,数字量输出点或
者模拟量输出通道如何操作。
此功能对于一些必须保持动作、运转的设备非常重要。如抱闸,或者一些关键的
阀门等,不允许在调试 PLC 时停止动作,就必须在系统块的输出表中进行设置。
数字量:在选中“Freeze output in last state”后,冻结最后的状态,则在 CPU
进入 STOP 状态时数字量输出点保持停机前的状态(是 1仍然是 1,是 0保持为 0),同
时下面的 b.表不起作用 如果未选中,那么选中的输出点会保持 ON(1)的状态,未选
中的为 0。
模拟量:在选中“Freeze output in last state”后,冻结最后的状态,则在 CPU
进入 STOP 状态时模拟量输出通道保持停机前的状态,同时下面的表不起作用,未选中
时.在下面表中各个规定模拟量输出通道在 CPU 进入 STOP 状态时的输出值。
30:数字量输入滤波器是什么作用,该如何设置?
可以为 CPU 上的数字量输入点选择不同的输入滤波时间。如果输入信号有干扰、
噪音,可调整输入滤波时间,滤除干扰,以免误动作。滤波时间可在 0.20 ~ 12.8ms 的
范围中选择几档 。如果滤波时间设定为 6.40ms,数字量输入信号的有效电平(高或低)
持续时间小于 6.4ms 时,CPU 会忽略它;只有持续时间长于 6.4ms 时,才有可能识别。
另外:支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤
波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能都有效。
31:模拟量滤波有什么效果?
一般情况下选用 S7-200 的模拟量滤波功能就不必再另行编制用户的滤波程序。
如果对某个通道选用了模拟量滤波,CPU 将在每一程序扫描周期前自动读取模拟量
输入值,这个值就是滤波后的值,是所设置的采样数的平均值。模拟量的参数设置(采
样数及死区值)对所有模拟量信号输入通道有效。
如果对某个通道不滤波,则 CPU 不会在程序扫描周期开始时读取平均滤波值,而
只在用户程序访问此模拟量通道时,直接读取当时实际值。
32:模拟量滤波死区值如何设置?
死区值,定义了计算模拟量平均值的取值范围
如果采样值都在这个范围内,就计算采样数所设定的平均值;如果当前最新采样
的值超过了死区的上限或下限,则该值立刻被采用为当前的新值,并作为以后平均值计
算的起始值
这就允许滤波器对模拟量值的大的变化有一个快速响应 。死区值设为 0,表示禁
止死区功能,即所有的值都进行平均值计算,不管该值有多大的变化。 对于快速响应
要求,不要把死区值设为 0,而把它设为可预期的最大的扰动值(320 为满量程 32000
的 1%)
33:模拟量滤波的设置应该注意哪些?
1)为变化比较缓慢的模拟量输入选用滤波器可以抑制波动
2)为变化较快的模拟量输入选用较小的采样数和死区值会加快响应速度
3)对高速变化的模拟量值不要使用滤波器
4)如果用模拟量传递数字量信号,或者使用热电阻(EM231 RTD)、热电偶(EM231
TC)、AS-Interface(CP243-2)模块时,不能使用滤波器
34:如何让 Micro/WIN 中的监控响应更快?
可以设置背景通讯时间,背景通讯时间规定用于“运行模式编程”和程序、数据
监控的 Micro/WIN 和 CPU 的通讯时间占整个程序扫描周期的百分比。增加这个时间可以
增加监控的通讯机会,在 Micro/WIN 中的响应会感觉快一些,但是同时会加长程序扫描
时间。
35:cpu 上的指示灯可以自定义吗?
可以通过用户自定义指示灯,
23 版 CPU 的 LED 指示灯(SF/DIAG)能够显示两种颜色(红/黄)。红色指示 SF(系
统故障),黄色 DIAG 指示灯可以由用户自定义。
自定义 LED 指示灯可以由以下方法控制:
1)在系统块的“配置 LED”选项卡中设置
2)在用户程序中使用 DIAG_LED 指令点亮
上述条件之间是或的关系。如果同时出现 SF 和 DIAG 两种指示,红色和黄色灯会交
替闪烁。
36:在任何时候我都可以使用全部的程序存储区吗?
23 版 CPU 的新功能(运行时编程)需要占用一部分程序存储空间。如果要利用全
部的程序存储区,对于特定的一些 CPU 型号,需要禁止“运行模式编程”功能。
37:如果我忘了密码,如何访问一个带密码的 CPU?
即便 CPU 有密码保护,你也可以不受限制地使用以下功能:
1)读写用户数据
2)启动,停止 CPU
3)读取和设置实时时钟
如果不知道密码,用户不能读取或修改一个带三级密码保护的 CPU 中的程序。
38:如何清除设置的密码?
如果你不知道 CPU 的密码,你必须清除 CPU 内存,才能重新下装程序。执行清除
CPU 指令并不会改变 CPU 原有的网络地址、波特率和实时时钟;如果有外插程序存储卡,
其内容也不会改变。清除密码后,CPU 中原有的程序将不存在。
要清除密码,可按如下 3中方法操作:
1)在 Micro/WIN 中选择菜单“PLC > Clear” 选择所有三种块并按"OK"确认。
2)另外一种方法是通过程序“wipeout.exe”来恢复 CPU 的缺省设置。这个程序
可在 STEP7-Micro/WIN 安装光盘中找到;
3)另外,还可以在 CPU 上插入一个含有未加密程序的外插存储卡,上电后此程序
会自动装入 CPU 并且覆盖原有的带密码的程序。然后 CPU 可以自由访问。
39:POU 加密后我还能正常使用吗?
POU 即程序组织单元,包括 S7-200 项目文件中的主程序(OB1)、子程序和中断服
务程序。
POU 可以单独加密,加密后的 POU 会显示一个锁的标记,不能打开查看程序内容。
程序下载到 CPU 中,再上载后也保持加密状态。
西门子公司随编程软件 Micro/WIN 提供的库指令、指令向导生成的子程序、中断
程序都加了密。加密并不妨碍使用它们。
40:我能对整个工程项目文件进行加密吗?
使用 Step7 - Micro/WIN V4.0 以上版本,用户可以为整个 Project(项目)文件
加密,使不知道密码的人无法打开项目。
在 Micro/WIN 的 File(文件)菜单中的 Set Password(设置密码)命令,在弹出
的对话框中输入最多 16 个字符的项目文件密码。
密码可以是字母或数字的组合,区分大小写。
41:如何打开老版本 Micro/Win 创建的项目文件?
在正版 STEP7 Micro/WIN 软件光盘中,都可在 Old Realeses 文件夹中找到 V2.1 版
本的 Micro/WIN 安装软件,此版本的 Micro/WIN 可打开以前老版本创建的项目文件。通
过它作为桥梁,另存老版本的软件后,可在最新版本 STEP7 Micro/WIN 软件中打开。
注:如果打开后发现有的网络显示为红色的 invalid(非法),则可能是 PLC 型号太
低、版本太旧了,此时可选择高型号或者新版本的 CPU。如:在命令菜单的 PLC > Type
中将 CPU222 改为 CPU224。
42:如何知道自己所编程序大小?
Micro/WIN 中的命令菜单中执行 PLC>Compile 后,在 Micro/WIN 下方的显示窗口(消
息输出窗口)可找到你所编程序的大小、占用数据块的大小等。
43:编译出错怎么办?
在编译后,如果有错,将不能下装程序到 CPU。可在 Micro/WIN 下方的窗口查看错
误,双击该错误即进入到程序中该错误所在处,根据系统手册中的指令要求进行修改。
44:如何知道自己所编程序的扫描时间?
在程序运行过 一次以后,可在 Micro/WIN 中的命令 菜单中在线查看
PLC>Information 可找到 CPU 中程序的扫描时间。
45:如何查找所使用的程序地址空间是否重复使用?
在对程序进行编译后,可以点击 View 浏览条中的交叉参考(Cross Reference)按
钮进入,可以看到程序中所使用元素的详细的交叉参考信息及字节和位的使用情况。在
交叉参考中可直接点击该地址,便进入到程序中该地址所在处。
46:在线监控时,在程序块中为何指令功能块竟然是红色?
如果在程序编辑器中在线监控,发现有红色的指令功能块,说明发生了错误或问题。
从系统手册可以查到导致 ENO=0 的错误。如果是“非致命”故障,可以在菜单
PLC > Information 对话框中查看错误类型。
对于 NetR/NetW(网络读/写)、XMT/RCV(自由口发送/接收) 、PLS 等等与 PLC 操
作系统或硬件设置有关的指令,在运行时变红,其最可能的原因是在指令仍然在执行的
过程中多次调用,或者当时通讯口忙。
47:S7-200 的高速输入、输出如何使用?
S7-200 CPU 上的高速输入、输出端子,其接线与普通数字量 I/O 相同。但高速脉冲
输出必须使用直流晶体管输出型的 CPU(即 DC/DC/DC 型)。
48:NPN/PNP 输出的旋转编码器(和其他传感器),能否接到 S7-200 CPU 上?
都可以。S7-200 CPU 和扩展模块上的数字量输入可以连接源型或漏型的传感器输出,
连接时只要相应地改变公共端子的接法(是电源 L+连接到输入公共端、还是电源的 M
连接到公共端)。
49:S7-200 能否使用两线制的数字量(开关量)传感器?
可以,但必须保证传感器的静态工作电流(漏电流)小于 1mA。西门子有相关的产
品,如用于 PLC 的接近开关(BERO)等。
50:S7-200 是否有输入、输出点可以复用的模块?
S7-200 的数字量、模拟量输入/输出点不能复用(即既能当作输入,又能当作输出)。
51:CPU224 XP 的高速输入输出到底能达到 100K 还是 200K?
新产品 CPU224 XP 高速输入中的两路支持更加高的速度。用作单相脉冲输入时,可
以达到 200KHz;用作双相 90°正交脉冲输入时,速度可达 100KHz。
CPU224 XP 的两路高速数字量输出速率可以达到 100KHz。
52: CPU224 XP 的高速输入(I0.3/4/5)是 5VDC 信号,其他输入点是否可以接 24VDC
信号?
可以。只需将两种信号供电电源的公共端都连接到 1M 端子。这两种信号必须同时
为漏型或源型输入信号。
53:CPU224 XP 的高速输出点 Q0.0 和 Q0.1 接 5V 电源,其他点如 Q0.2/3/4 是否可以接
24V 电压?
不可以。必须成组连接相同的电压等级。
54:竟然有模拟量无法滤波?
由于 CPU 224 XP 本体上的模拟量转换芯片的原理与扩展模拟量模块不同,不需要
选择滤波。
55: 什么是单极性、双极性?
双极性就是信号在变化的过程中要经过“零”,单极性不过零。由于模拟量转换为
数字量是有符号整数,所以双极性信号对应的数值会有负数。在 S7-200 中,单极性模
拟量输入/输出信号的数值范围是 0 - 32000;双极性模拟量信号的数值范围是 -32000
-+32000。
56: 同一个模块的不同通道是否可以分别接电流和电压型输入信号?
可以分别按照电流和电压型信号的要求接线。但是 DIP 开关设置对整个模块的所有
通道有效,在这种情况下,电流、电压信号的规格必须能设置为相同的 DIP 开关状态。
如上面表 1、表 2 中,0 - 5V 和 0 - 20mA 信号具有相同的 DIP 设置状态,可以接入同
一个模拟量模块的不同通道。
57:模拟量应该如何换算成期望的工程量值?
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 换算结果
Iv: 换算对象
Osh: 换算结果的高限
Osl: 换算结果的低限
Ish: 换算对象的高限
Isl: 换算对象的低限
58:S7-200 模拟量输入信号的精度能达到多少?
拟量输入模块有两个参数容易混淆:
1)模拟量转换的分辨率
2)模拟量转换的精度(误差)
分辨率是 A/D 模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。S7-200
模拟量模块的转换分辨率是 12 位,能够反映模拟量变化的最小单位是满量程的 1/4096。
模拟量转换的精度除了取决于 A/D 转换的分辨率,还受到转换芯片的外围电路的影
响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生
噪声、漂移,这些都会对转换的最后精度造成影响。这些因素造成的误差要大于 A/D 芯
片的转换误差。
59:为什么模拟量是一个变动很大的不稳定的值?
可能是如下原因:
你可能使用了一个自供电或隔离的传感器电源,两个电源没有彼此连接,即模拟量
输入模块的电源地和传感器的信号地没有连接。这将会产生一个很高的上下振动的共模
电压,影响模拟量输入值。
另一个原因可能是模拟量输入模块接线太长或绝缘不好。
可以用如下方法解决:
1) 连接传感器输入的负端与模块上的公共 M 端以补偿此种波动。(但要注意确保
这是两个电源系统之间的唯一联系。)
背景是:
模拟量输入模块内部是不隔离的;
共模电压不应大于 12V;
对于 60Hz 干扰信号的共模抑制比为 40dB。
2)使用模拟量输入滤波器。
60:EM231 模块上的 SF 红灯为何闪烁?
SF 红灯闪烁有两个原因:模块内部软件检测出外接热电阻断线,或者输入超出范围。
由于上述检测是两个输入通道共用的,所以当只有一个通道外接热电阻时,SF 灯必然闪
烁。解决方法是将一个 100 Ohm 的电阻,按照与已用通道相同的接线方式连接到空的通
道;或者将已经接好的那一路热电阻的所有引线,一一对应连接到空的通道上。
61:什么是正向标定、负向标定?
正向标定值是 3276.7 度(华氏或摄氏),负向标定值是-3276.8 度。如果检测到断
线、输入超出范围时,相应通道的数值被自动设置为上述标定值。
62: 热电阻的技术参数不是很清楚,如何在 DIP 开关上设置类型?
应该尽量弄清除热电阻的参数。否则可以使用缺省设置。
63:EM235 是否能用于热电阻测温?
EM235 不是用于与热电阻连接测量温度的模块,勉强使用容易带来问题。建议使用
EM231 RTD 模块。
64:S7-200 的模拟量输入/输出模块是否带信号隔离?
不带隔离。如果用户的系统中需要隔离,请另行购买信号隔离器件。
65: 模拟量信号的传输距离有多远?
电压型的模拟量信号,由于输入端的内阻很高(S7-200 的模拟量模块为 10 兆欧),
极易引入干扰,所以讨论电压信号的传输距离没有什么意义。一般电压信号是用在控制
设备柜内电位器设置,或者距离非常近、电磁环境好的场合。
电流型信号不容易受到传输线沿途的电磁干扰,因而在工业现场获得广泛的应用。
电流信号可以传输比电压信号远得多的距离。理论上,电流信号的传输距离受到
以下几个因素的制约:
1)信号输出端的带载能力,以欧姆数值表示(如 700Ω)
2)信号输入端的内阻
3)传输线的静态电阻值(来回是双线)
信号输出端的负载能力必须大于信号输入端的内阻与传输线电阻之和。当然实际
情况不会完全符号理想的计算结果,传输距离过长会造成信号衰减,也会引入干扰。
66:S7-200 模拟量模块的输入/输出阻抗指标是多少?
模拟量输入阻抗:
电压型信号:≥ 10MΩ
电流型信号:250Ω
模拟量输出阻抗:
电压型信号:≥ 5KΩ
电流型信号:≤ 500Ω
67:模拟量模块的电源指示灯正常,为何信号输入灯不亮?
模拟量模块的外壳按照通用的形式设计和制造,实际上没有模拟量输入信号指示
灯。凡是没有印刷标记的灯窗都是无用空置的。
68:为何模拟量值的最低三位有非零的数值变化?
模拟量的转换精度为 12 位,但模块将数模转换后的数值向高位移动了三位。如果
将此通道设置为使用模拟量滤波,则当前的数值是若干次采样的平均值,最低三位是计
算得出的数值;如果禁用模拟量滤波,则最低三位都是零。
69:EM231 TC 是否需要补偿导线?
EM231 TC 可以设置为由模块实现冷端补偿,但仍然需要补偿导线进行热电偶的自
由端补偿。
70:EM231 TC 模块 SF 灯为何闪烁?
如果选择了断线检测,则可能是断线。应当短接未使用的通道,或者并联到旁边
的实际接线通道上。 或者输入超出范围。
71:M 区数据不够用怎么办?
回答:有些用户习惯使用 M 区作为中间地址,但 S7-200CPU 中 M 区地址空间很小,
只有 32 个字节,往往不够用。而 S7-200CPU 中提供了大量的 V 区存储空间,即用户数
据空间。V存储区相对很大,其用法与M 区相似,可以按位、字节、字或双字来存取 V 区
数据。例:V10.1, VB20, VW100, VD200 等等。
72:我如何知道 S7-200 CPU 的集成 I/O 和扩展 I/O 寻址?
S7-200 编程时不必配置 I/O 地址。
S7-200 扩展模块上的 I/O 地址按照离 CPU 的距离递增排列。离 CPU 越近,地址号
越小。
在模块之间,数字量信号的地址总是以 8 位(1 个字节)为单位递增。如果 CPU
上的物理输入点没有完全占据一个字节,其中剩余未用的位也不能分配给后续模块的同
类信号。
模拟量输出模块总是要占据两个通道的输出地址。即便有些模块(EM235)只有一
个实际输出通道,它也要占用两个通道的地址。
在编程计算机和 CPU 实际联机时,使用 Micro/WIN 的菜单命令“PLC >
Information”,可以查看 CPU 和扩展模块的实际 I/O 地址分配。
73:最多可以调用多少子程序,子程序可以带参数吗?
S7-200CPU 最多可以调用 64 个子程序(CPU226XM 为 128 个)
子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套 8层
在中断服务程序中不能欠套调用子程序,被中断服务程序调用的子程序中不能再
出现子程序调用
子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带
16 个参数(形式参数)
74:程序存储在哪里,会不会丢失?
回答:下载的程序存储在 EEPROM 中,将会永久保存,断电后不会丢失。程序的大
小不能超过 CPU 用户程序空间的大小。
75: 如何验证数据是否正确保存到了 EEPROM 中?
有两种方法可以验证数据是否正确保存到 EEPROM 中:
1)在“系统块-数据保持”设置中取消相应数据区(V 存储区)的保持设置,则
CPU 在上电时会用 EEPROM 中相应区域的数值覆盖 RAM 中的数据,可以检查数据是否正确
2)使用 Micro/WIN 的 Upload(上载)功能,将数据块上载到 Micro/WIN 项目中;
上载的数据来源是 EEPROM 而不是 RAM
76:数据如何写入 EEPROM 数据区?
1)在编程软件 Micro/WIN 的 Data Blocek(数据块)中定义 V数据区存储单元的
初始值,下载数据块时,这些数值也被写入到相应的 EEPROM 单元中。
2)用特殊存储器 SMB31、SMW32,用编程方法将 V存储区的数据写入 EEPROM
3)在 System Block(系统块)中设置数据保持功能,可将 MB0 - MB13 的内容在
CPU 断电时自动写入到 EEPROM 中
77:应用 S7-200 时,可以选用几种数据保持方法?
1)CPU 的内置超级电容,断电时间不太长时,可以为数据和时钟的保持提供电源
缓冲
2)CPU 上可以附加电池卡,与内置电容配合,长期为时钟和数据保持提供电源
3)设置系统块,在 CPU 断电时自动保存 M区中的 14 个字节数据
4)在数据块中定义不需要更改的数据,下载到 CPU 内可以永久保存
5)用户编程使用相应的特殊寄存器功能,将数据写入 EEPROM 永久保存
78:S7-200 系统中用到了几种存储器件?
1)RAM: 易失性的存储器,失去电源供应后,其中保存的数据会丢失。S7-200 CPU
中的 RAM 由超级电容+外插电池卡提供电源缓冲。RAM 保存 V、M、T(定时器)、C(计
数器)等各数据区的内容,在 CPU 失电后的表现由用户在系统块“数据保持”页中设置
2)EEPROM:非易失的电可擦除存储器,保存数据不需要供电,并且可以改写其内
容。上述 RAM 数据区中有的部分与 EEPROM 中的区域一一对应。用户程序也永久保存在
程序 EEPROM 区中
3)外插存储卡:非易失的存储器。用来保存用户程序、数据记录(归档)、配方
数据,以及一些其他文件等
79:存储卡能否扩展 CPU 的程序存储空间?
回答:存储卡不能扩展程序空间,S7-200CPU 的程序空间是不能扩展的。
80:如何通过存储卡与 CPU 进行用户程序保存和传递?
在 Step7 MicroWin32 中使用菜单命令 PLC>Program Memory Cartridge 来向存储
卡中复制程序
为了把存储卡中的程序送到 CPU 中,必须先插入存储卡,然后给 CPU 上电,程序
将自动复制到 RAM 及 EEPROM 中。
81:使用定时器加自复位做一个不断重复的计时,调用其他功能或子程序时,为何看起
来工作不规律?
请注意《S7-200 系统手册》中,关于三种定时器刷新规律的描述。
按这种方法使用定时器时,定时器的置位、复位可能与程序扫描周期不配合,存在造成
上述问题的机制。定时比较短的定时任务应使用“定时中断”功能,这样更为可靠。
82:编了一个利用定时器的程序,在编译时已经通过,为何下载到 CPU 中时提示出错?
这种情况往往是调用的定时器号与定时器类型不配合造成的。参见帮助的表格,如
T7 只能用作 TONR,而不能用于 TON 或 TOF。
83:定时中断(SMB34/SMB35)最长定时为 255ms,如何实现更长时间的定时?
可以采用 T32/T96 中断,最长时间可到 32.767s。在定时中断服务程序中对进入中
断的次数进行计数,也能实现更长时间的中断延时。
84:定时中断个数不够怎么办?
每个定时中断服务程序不一定只能处理一项定时任务,可以把几个任务放在一个定
时中断服务程序中。
对于定时间隔不同的任务,可以计算出它们的定时长度的最大公约数,以此作为定
时中断的时间设置。在中断服务程序内部对中断事件进行计数,据此编程别处理不同的
任务。
85:使用子程序时,为何动作只能执行一次,或者某些状态不能结束?
如果发生动作不能重复执行,或者状态不能结束(像锁死了一样),而这些功能都与
子程序有关时,请检查是否有条件调用子程序。调用子程序的条件在上述动作执行后,
或者进入某个状态后不再有效,无法再次“激活”,而脱离上述状态或复位的指令正好
在子程序内,必然造成上述的现象。
86:带形式参数的子程序,定义为OUT类型的变量为何会在多次调用子程序时互相干扰?
那是因为定义为 OUT 类型的形式参数又在子程序内部参与了运算。凡是此类参数都
应当定义为 IN_OUT 类型。
87:与中断服务程序有关的计算任务,为何会偶尔得出不正确的结果?
出现这种现象的原因多是在主(子)程序和中断程序之间传递数据的机制不当。
中断程序可能在任何时刻执行,如果此时主程序(或子程序)正在对中断程序使用
的数据进行操作,其中间结果可能带入中断程序,造成计算结果的变化;同样地,在中
断程序中产生数据也对主(子)程序中的计算有类似影响。
88:中断服务程序看起来没有执行?
可以在中断程序中加一个测试程序段,如使用 SM0.0(常为“1”)将一个输出点置
位(使用 Set 指令),观察是否进入中断服务程序。中断程序不执行,多数原因是初始
化(连接中断事件和中断程序)的问题,或者没有“开中断”。应该使用 SM0.1(或沿
触发)执行一次初始化,然后开中断。
89:TP170、TP170 micro 与 S7-200 相连接如何做“时钟同步”?
TP170 默认的时钟格式与 S7-200 时钟指令所读取的时间日期格式有所区别,读出的
时钟需要改变格式才能与 TP170 等做时钟同步。在 TP170 的组态软件 ProTool 的在线帮
助中有相关的介绍。
90:高速计数器怎样占用输入点?
高速计数器根据被定义的工作模式,按需要占用 CPU 上的数字量输入点。每一个计数器
都按其工作模式占用固定的输入点。在某个模式下没有用到的输入点,仍然可以用作普
通输入点;被计数器占用的输入点(如外部复位),在用户程序中仍然访问到。
91: 为什么高速计数器不能正常工作?
在程序中要使用初次扫描存储器位 SM0.1 来调用 HDEF 指令,而且只能调用一次。如
果用 SM0.0 调用或者第二次执行 HDEF 指令会引起运行错误,而且不能改变第一次执行
HDEF 指令时对计数器的设定。
92: 对高速计数器如何寻址? 为什么从 SMDx 中读不出当前的计数值?
可以直接用 HC0;HC1;HC2;HC3;HC4;HC5 对不同的高速计数器进行寻址读取当
前值,也可以在状态表中输入上述地址直接监视高速计数器的当前值。SMDx 不存储当前
值。
高速计数器的计数值是一个 32 位的有符号整数。
93: 高速计数器如何复位到 0?
选用带外部复位模式的高速计数器,当外部复位输入点信号有效时,高速计数器复
位为 0 也可使用内部程序复位,即将高速计数器设定为可更新初始值,并将初始值设为
0,执行 HSC 指令后,高数计数器即复位为 0
94: 高速计数器的值在复位后是复位到初始值还是“0”值?
外部复位会将当前值复位到0值而不是初始值;内部复位则将当前值复位到初始值。
如果你设定了可更新初始值,但在中断中未给初始值特殊寄存器赋新值,则在执行
HSC 指令后,它将按初始化时设定的初始值赋值。
95: 为何给高速计数器赋初始值和预置值时后不起作用,或效果出乎意料?
高速计数器可以在初始化或者运行中更改设置,如初始值、预置值。其操作步骤应
当是:
1)设置控制字节的更新选项。需要更新哪个设置数据,就把控制字节中相应的控
制位置位(设置为“1”);不需要改变的设置,相应的控制位就不能设置
2)然后将所需 的值送入初始值和预置值控制寄存器
3)执行 HSC 指令
96: 使用 PTO/PWM 发生器的功能应使用什么类型的 CPU?
应使用 24VDC 晶体管输出的 CPU,继电器输出的绝对不行。
97: PTO 或 PWM 输出的幅值是多少?
PTO 或 PWM 输出的幅值为 24V(高电平有效,共负端连接),若想实现输出其他电压
的幅值,需自己加转换器来实现。
98: 在 PTO 脉冲串执行过程中,你能否通过 PLS 指令改变其周期值?
不行,必须终止 PTO 输出后才能改变周期值。
99:如何强制停止 PTO 或 PWM 输出?
可以通过编程将控制字节中的使能位 SM66.7 或 SM76.7 清零,然后执行 PLS 指令,
便可立即停止 PTO 或 PWM 输出。
100: 为何输出信号的指示灯已亮,却没有良好的电压波形输出,或者有时丢脉冲?
PTO 或 PWM 输出负载最小不能低于额定负载的 10%;即在输出为高电平的状态下,
负载电流不低于 140mA。
101: 如何计算 PTO 的周期增量?
PTO 的脉冲周期增量公式为:周期增量 = (终止周期 – 初始周期) / 脉冲数
102: 当周期小于 50μs 时为何不能获得满意的波形输出?
因为限制 PWM 输出的因素有两个:
1)硬件输出电路响应速度的限制,对于 Q0.0Q0.1 从断开到接通为 2 μs,从接
通到断开 10 μs ,因此最小脉宽不可能小于 10 μs。
2)最大的频率为 20K,因此最小周期为 50 μs。
所以如果脉宽低于 50 μs 的波形无法保证。
103:如何改变 PWM 输出的周期/脉冲宽度?
PWM 功能可以在初始化时设置脉冲的周期和宽度,也可以在连续输出脉冲时很快地
改变上述参数。其操作步骤为:
1)设置控制字节,以允许写入(或者更新)相应的参数
2)将相应的特殊存储器写入新的周期/脉宽值
3)执行 PLS 指令,对 PTO/PWM 发生器进行硬件设置变更
104:PID 输出在最大值与最小值之间振荡(曲线接触到坐标轴)如何办?
回答:降低 PID 初始输出步长值(initial output step)
105:PID 自整定面板显示如下信息:“ The Auto Tune algorithm was aborted due
to a zero-crossing watchdog timeout.” 即自整定计算因为等待反馈穿越给定值的
看门狗超时而失败如何办?
回答: 确定在启动 PID 自整定前,过程变量和输出值已经稳定。并检查Watchdog
Time 的值,将其适当增大。
106:PID 输出总是输出很大的值,并在这一区间内波动如何办?
回答:增益(Gain)值太高或 PID 扫描时间(sample time)太长(对于快速响应
PID 的回路)解决方法:降低增益(Gain)值并且/或选择短一些的扫描时间
107:过程变量超过设定值很多(超调很大)如何办?
回答:积分时间(Integral time)可能太高。解决方法:降低积分时间
108:PID 输出非常不稳定是什么原因?
回答:产生原因:
1)如果用了微分,可能是微分参数有问题
2)没有微分,可能是增益(Gain)值太高
解决方法:
1)调整微分参数到 0-1的范围内
2)根据回路调节特性将增益值降低,最低可从 0.x 开始逐渐增大往上调,直到获
得稳定的 PID。
109:对于某个具体的 PID 控制项目,是否可能事先得知比较合适的参数?有没有相
关的经验数据?
虽然有理论上计算 PID 参数的方法,但由于闭环调节的影响因素很多而不能全部
在数学上精确地描述,计算出的数值往往没有什么实际意义。因此,除了实际调试获得
参数外,没有什么可用的经验参数值存在。甚至对于两套看似一样的系统,都可能通过
实际调试得到完全不同的参数值。
110:S7-200 控制变频器,在变频器也有 PID 控制功能时,应当使用谁的 PID 功能?
可以根据具体情况使用。一般来说,如果需要控制的变量直接与变频器直接有关,
比如变频水泵控制水压等,可以优先考虑使用变频器的 PID 功能。
111:是否可以在不同的步中使用同一个开关量输出点(线圈)?为何出现不合逻辑
的现象?
可以在不同的步中对同一个输出点进行操作。这些逻辑运算不应使用普通编程时
的实时状态计算规则,应使用 S(置位)和 R(复位)指令对输出点操作;或者使用中
间状态继电器过渡,最后再综合逻辑,一起输出。
112:CPU 的 SF(系统故障) 灯亮是什么原因?
1)CPU 运行错误或硬件元件损坏。此时如果 Micro/WIN 还能在线,则可在命令菜
单中进入 PLC>Information 在线查看,可看到具体的错误描述。
2)程序错误,如进入死循环,或编程造成扫描时间过长,“看门狗”超时也会造
成 SF 灯亮。
3)CPU 电源电压可能过低,请检查供电电压。
113: LED 灯全部不亮咋办?
可能是以下原因:
1)电源接线不对,或 24V 电源接反
2)保险丝烧断(报修)