4.2 CPU模块
1 CPU模块有什么功能?
难度系数 ★
人气指数 90%
问题解答
(1)CPU是PLC的核心,每套PLC至少有一个CPU,它按系统程序接收并存储用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中。同时,诊断电源和PLC内部电路的工作状态及编程过程中的语法错误等。进入运行后,从用户程序存储器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥控制电路。
图4-2 S7-300系列的紧凑型CPU
(2)CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制和状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序和数据,是PLC不可缺少的组成单元。
(3)CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令,但工作节奏由振荡信号控制。运算器用于进行数字或逻辑运算,在控制器的指挥下工作。寄存器参与运算,并存储运算的中间结果。CPU的速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度、I/O数量及软件容量等,因此限制着控制规模。
如图4-2所示为S7-300系列的紧凑型CPU。
2 CPU模块有哪些性能指标?
难度系数 ★
人气指数 90%
问题解答
CPU模块的主要性能指标如下:
(1)CPU的额定电压、保护电流、冲击电流。
(2)CPU的存储器容量及存取速度。
(3)CPU的程序块/数据块容量及断电保持能力。
(4)CPU的运算能力及处理每条指令所需的时间。
(5)CPU的I/O数量及可扩展性。
(6)CPU的定时器/计数器保持特性。
(7)CPU电池的使用时间。
(8)CPU的通信能力。
3 CPU支持的I/O模块数目可以扩展吗?
难度系数 ★
人气指数 90%
问题解答
CPU支持的I/O模块数目可以扩展,但是不同的CPU扩展能力不一样,具体I/O模块的扩展能力可查看相关资料文档。
4 如何选择合适的CPU模块?
难度系数 ★
人气指数 90%
问题解答
(1)根据现场情况(比如防爆等级、环境温度等),选择能在该环境中使用的CPU品牌。
(2)区分不同的系统需求。根据系统对可靠性和成本上的需求,选择适合的PLC牌子。同时,确定系统是属于小型、中型还是大型系统,针对不同的系统选择合适的CPU类型。
(3)分清系统所需的I/O点数及通信方式。选择具备可扩展足够I/O点数,同时具备所需通信方式的CPU。
5 S7-200 CPU快速响应信号的对策有哪些?
难度系数 ★
人气指数 70%
问题解答
使用CPU内置的高速计数器和高速脉冲发生器处理序列脉冲信号。
使用部分CPU数字量输入点的硬件中断功能,在中断服务程序中处理;进入中断的延时可以忽略。
S7-200拥有“直接读输入”和“直接写输出”指令,可以越过程序扫描周期的时间限制使用部分CPU数字量输入点的“脉冲捕捉”功能捕捉短暂的脉冲。
6 S7-200 CPU是按照怎样的机制循环工作的?
难度系数 ★
人气指数 80%
问题解答
S7-200 CPU按照以下机制循环工作:
① 读取输入点的状态到输入映像区;
② 执行用户程序,进行逻辑运算,得到输出信号的新状态;
③ 将输出信号写入输出映像区。
只要CPU处于运行状态,上述步骤就周而复始地执行。在第②步中,CPU也执行通信、自检等工作。
上述三个步骤是S7-200 CPU的软件处理过程,可以认为就是程序扫描时间。实际上,S7-200对数字量的处理速度受到以下几个因素的限制:
(1)输入硬件延时(从输入信号状态改变的那一刻开始,到CPU刷新输入映像区时能够识别其改变的时间)。
(2)CPU的内部处理时间,包括:
① 读取输入点的状态到输入映像区;
② 执行用户程序,进行逻辑运算,得到输出信号的新状态;
③ 将输出信号写入输出映像区。
(3)输出硬件延时(从输出缓冲区状态改变到输出点真实电平改变的时间)。
上述三段时间,就是限制PLC处理数字量响应速度的主要因素。
一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器动作时间等。
表4-1所示为输入点硬件延时。
表4-1 输入点硬件延时
以上数据都在《S7-200系统手册》中标明,这里只是列表比较。CPU上的部分输入点延时(滤波)时间可以在编程软件Micro/WIN的“系统块”中设置,其默认的滤波时间是6.4ms。
如果把容易受到干扰的信号接到CPU上可改变滤波时间的DI点上,调整滤波时间可能会改善信号检测的质量。
支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。
表4-2所示为CPU输出硬件延时。
表4-2 CPU输出硬件延时
有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理。继电器输出开关频率为1Hz。
表4-3所示为扩展模块输出硬件延时。
表4-3 扩展模块输出硬件延时
7 S7-200 CPU的通信口支持哪些通信协议?
难度系数 ★
人气指数 80%
问题解答
(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不能充当网桥的作用。
8 S7-200 CPU上的通信口有哪些功能?
难度系数 ★
人气指数 80%
问题解答
(1)安装了编程软件Micro/WIN的计算机可以对PLC编程。
(2)可以连接其他S7-200 CPU的通信口组成网络。
(3)可以与S7-300/400的MPI通信口通信
(4)可以连接西门子的HMI设备(如TD 200、TD 400C、TP170micro、TP170、TP270等)。
(5)可以通过OPC Server(PC Access V1.0)进行数据发布。
(6)可以连接其他串行通信设备。
(7)可以与第三方HMI通信。
9 S7-200 CPU上的通信口能否扩展?
难度系数 ★
人气指数 80%
问题解答
不能扩展出与CPU通信口功能完全一样的通信口。
在CPU上的通信口不够的情况下,可以考虑:
(1)购买具有更多通信口的CPU。
(2)考察连接设备的种类,如果其中有西门子的人机界面(HMI,操作面板),可以考虑增加EM277模块,把面板连接到EM277上。
10 S7-200 CPU上的通信口,通信距离有多远?
难度系数 ★
人气指数 80%
问题解答
《S7-200系统手册》上给出的数据是一个网段50m,这是在符合规范的网络条件下,能够保证的通信距离。凡超出50m的距离,应当加中继器。加一个中继器可以延长通信网络50m。如果加一对中继器,并且它们之间没有S7-200 CPU站存在(可以有EM277),则中继器之间的距离可以达到1000m。符合上述要求就可以得到非常可靠的通信。
实际上,有用户做到了超过50m距离而不加中继器的通信。西门子不能保证这样的通信一定成功。
11 如何设置和读取CPU的日期、时间值?
难度系数 ★
人气指数 80%
问题解答
(1)用编程软件(Micro/WIN)的菜单命令“PLC”→“Time of Day Clock”,通过与CPU的在线连接设置,完成后时钟开始走动。
(2)编写用户程序使用SET_RTC(设置时钟)指令进行设置,使用READ_RTC(读取时钟)指令进行读取。
读取实时时钟(TODR)指令从硬件时钟读取当前时间和日期,并将其载入以地址T起始的8字节的时间缓冲区。写实时时钟(TODW)指令将当前时间和日期写入用T指定的在8字节的时间缓冲区开始的硬件时钟。
TODR:设置ENO=0的错误条件如下。
0006 间接地址
000C 时钟模块不存在
TODW:设置ENO=0的错误条件如下。
0006 间接地址
0007 TOD数据错误
000C 时钟模块不存在
所有日期和时间值必须采用BCD格式编码(例如,16#97代表2002年)。请参阅表4-4。
表4-4 8字节时间缓冲区格式(T)
长时间掉电或内存丢失后,实时时钟会被初始化为以下日期和时间。
日期:90年1月1日
时间:00:00:00
星期:星期日
12 如何设置定义CPU数据保持功能?
难度系数 ★
人气指数 80%
问题解答
数据保持设置定义CPU如何处理各数据区的数据保持任务。在数据保持设置区中选中的就是要“保持”其数据内容的数据区。所谓“保持”就是在CPU断电后再上电,数据区域的内容是否保持断电前的状态。在这里设置的数据保持功能靠如下几种方式实现。
在这里设置的数据保持功能靠CPU内置的超级电容实现,超级电容放电完毕后,如果安装了外插电池(或CPU 221/222用的时钟/电池)卡,则电池卡会继续作为数据保持的电源进行供电,直到放电完毕数据在断电前被自动写入相应的EEPROM数据区中。
13 设置CPU的密码分为哪几种方法?
难度系数 ★
人气指数 80%
问题解答
在系统块中设置CPU密码以限制用户对CPU的访问。可以分等级设置密码,给其他人员开放不同等级的权限。CPU的密码设置如表4-5所示。
表4-5 CPU密码设置
14 CPU设置密码后,为何看不出密码已经生效?
难度系数 ★
人气指数 80%
问题解答
在系统块中设置了CPU密码并下载后,因为仍然保持了Micro/WIN与CPU的通信连接,所以CPU不会对设置密码的Micro/WIN做保护。要检验密码是否生效,可以进行以下操作:
(1)停止Micro/WIN与CPU的通信一分钟以上。
(2)关闭Micro/WIN程序,再打开。
(3)停止CPU的供电,再送电。
15 CPU上的指示灯可以自定义吗?
难度系数 ★
人气指数 80%
问题解答
可以通过用户自定义指示灯,23版CPU的LED指示灯(SF/DIAG)能够显示两种颜色(红/黄)。红色指示SF(系统故障),黄色DIAG指示灯可以由用户自定义。自定义LED指示灯可以通过下方法控制:
(1)在系统块的“配置LED”选项卡中设置。
(2)在用户程序中使用DIAG_LED指令点亮。
16 如何访问一个带密码的CPU?
难度系数 ★
人气指数 80%
问题解答
即使CPU有密码保护,读者也可以不受限制地使用以下功能:
(1)读/写用户数据。
(2)启动、停止CPU。
(3)读取和设置实时时钟。
如果不知道密码,用户不能读取或修改一个带三级密码保护的CPU中的程序。
17 如何清除CPU设置的密码?
难度系数 ★
人气指数 80%
问题解答
如果不知道CPU的密码,必须清除CPU内存,才能重新下载程序。执行清除CPU指令并不会改变CPU原有的网络地址、波特率和实时时钟;如果有外插程序存储卡,其内容也不会改变。清除密码后,CPU中原有的程序将不存在。
要清除密码,可按如下三种方法操作:
(1)在Micro/WIN中选择菜单“PLC”→“Clear”,选择所有三种块并按“OK”按钮确认。
(2)另外一种方法是通过程序“wipeout.exe”来恢复CPU的默认设置。这个程序可在STEP 7-Micro/WIN安装光盘中找到。
(3)还可以在CPU上插入一个含有未加密程序的外插存储卡,上电后此程序会自动装入CPU并且覆盖原有的带密码的程序。之后CPU即可自由访问。
18 CPU的系统故障灯亮了是什么原因?
难度系数 ★
人气指数 80%
问题解答
(1)CPU运行错误或硬件元件损坏。此时如果Micro/WIN还能在线,则可在命令菜单中进入PLC→Information在线查看,可看到具体的错误描述。
(2)程序错误,如进入死循环,或编程造成扫描时间过长,“看门狗”超时也会造成SF灯亮。
(3)CPU电源电压可能过低,请检查供电电压。
19 CPU全面复位后哪些设置会保留下来?
难度系数 ★★★
人气指数 70%
问题解答
复位CPU时,内存没有被完全删除。整个主内存被完全删除,但加载内存中的数据,以及保存在Flash-EPROM存储卡(MC)或微存储卡(MMC)上的数据,会全部保留下来。除了加载内存以外,计时器(CPU 312 IFM除外)和诊断缓冲也被保留。具有MPI接口或一个组合MPI/DP接口的CPU只在全部复位之前保留接口所采用的当前地址和波特率。另外,另一个PROFIBUS地址也被完全删除,不能再访问。重要事项:重新设置PG/PC之后,与CPU之间的通信只能通过MPI或MPI/DP接口来建立。
20 为什么不能通过MPI在线访问CPU?
难度系数 ★★★
人气指数 70%
问题解答
如果在CPU上已经更改了MPI参数,请检查硬件配置。可以将这些值与“Set PG/PC interface”下的参数进行比较,看是否有不一致。或者可以这样做:打开一个新的项目,创建一个新的硬件组态。在CPU的MPI接口的属性中为地址和传送速度设置各自的值。将“空”项目写入存储卡中,把该存储卡插入CPU然后重新打开CPU的电压,将位于存储卡上的设置传送到CPU。现在已经传送了MPI接口的当前设置,并且像这样的话,只要接口没有故障就可以建立连接。这个方法适用于所有具有存储卡接口的S7-CPU。