9
西门子plc编程的工作原理:当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
输入采样
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能**在任何情况下,该输入均能被读入。
用户程序执行
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
输出刷新
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。
同样的若干条梯形图,其排列次序不同,执行的结果也不同。另外,采用扫描用户程序的运行结果与继电器控制装置的硬逻辑并行运行的结果有所区别。当然,如果扫描周期所占用的时间对整个运行来说可以忽略,那么二者之间就没有什么区别了。
西门子plc编程中应该注意的问题:
1.中断程序中可以调用子程序
累加器和逻辑堆栈式的存蓄器在中断程序和被调用的子程序中都是共用的
2.中断程序和主程序下数据是可以共享的
中断程序虽说是可以共享的,但是我们要注意的是中断事件中事情异步特性的因数影响,来解决共享数据的一致性问题,在中断事件中主程序执行的任何一个地方都是有可能出现的。
3.通信接口的中断
PLC的串行通信口是可以有梯形图或者语句表程序控制的。通信口的这种操作模式称为自有端口的模式。在自由的情况下,就可以用程序定义波特率,每个字节的位数等等,在执行主程序的过程中,申请中断,才能定义自由端口模式,利用接收和发送中断可以简化程序对通信的控制。
4.I/O中断
I/O中断包括上升或下降沿中断,告诉计数器中断和脉冲串输出中断。
S7-200CPU用输入I0.0~I0.3的上升或下降产生了中断,则发生的事件被输入端子捕获,这样的上升沿或者下降可被用来指示当某个事件发生时必须引起注意的条件。
5.时基中断
6.中断的优先级和排队
7.中断的限制
8.中断程序编程步骤
属于中小型的PLC,在接地过程中,应注意以下原则:
◆ 将应用设备接地的较佳方式是确保S7-1200 PLC和相关设备的所有公共端和接地连接在同一个点接地。
◆ 该点应该直接连接到系统的大地接地。
◆ 所有地线应尽可能地短且应使用大线径,例如2mm(14AWG)。
◆ 确定接地点时,应考虑安全接地要求和保护性中断装置的正常运行。
S7-1200 PLC系统如图1所示。
图1 S7-1200 PLC系统①CPU及系统供电1、交流供电系统系统取交流电源(L1、N、PE)给S7-1200 PLC系统供电。须将CPU的PE端子连接到系统的PE进行接地处理,如图2所示。
图1 S7-1200 PLC系统①CPU及系统供电1、交流供电系统系统取交流电源(L1、N、PE)给S7-1200 PLC系统供电。须将CPU的PE端子连接到系统的PE进行接地处理,如图2所示。
图1 S7-1200 PLC系统
①CPU及系统供电
1、交流供电系统
系统取交流
电源
(L1、N、PE)给S7-1200 PLC系统供电。须将CPU的PE端子连接到系统的PE进行接地处理,如图2所示。
图2 S7-1200 PLC系统的交流供电及接地CPU侧的实际接线中,应将PE进行接地处理,如图3所示。
图2 S7-1200 PLC系统的交流供电及接地CPU侧的实际接线中,应将PE进行接地处理,如图3所示。
图2 S7-1200 PLC系统的交流供电及接地
CPU侧的实际接线中,应将PE进行接地处理,如图3所示。
图3 S7-1200 PLC交流电源端子处的PE做接地处理 其中CPU还为其他模板或负载提供了DC24V供电电源。在大部分的安装中,可以把该DC24V电源的M端接地(例如连接到机壳接地),以获得较佳的噪声抑制效果。2、直流供电系统同样,对于直流供电的CPU,在大部分的应用中,把所有的DC电源的M接到地可以得到较佳的噪声抑制;在未接地的DC电源的公共端与保护地间可并联电阻与电容(RC元件/版权所有)。电阻提供了静电释放通路,电容提供高频噪声通路,如图4所示。
图3 S7-1200 PLC交流电源端子处的PE做接地处理 其中CPU还为其他模板或负载提供了DC24V供电电源。在大部分的安装中,可以把该DC24V电源的M端接地(例如连接到机壳接地),以获得较佳的噪声抑制效果。2、直流供电系统同样,对于直流供电的CPU,在大部分的应用中,把所有的DC电源的M接到地可以得到较佳的噪声抑制;在未接地的DC电源的公共端与保护地间可并联电阻与电容(RC元件/版权所有)。电阻提供了静电释放通路,电容提供高频噪声通路,如图4所示。
图3 S7-1200 PLC交流电源端子处的PE做接地处理
其中CPU还为其他模板或负载提供了DC24V供电电源。在大部分的安装中,可以把该DC24V电源的M端接地(例如连接到机壳接地),以获得较佳的噪声抑制效果。
2、直流供电系统
同样,对于直流供电的CPU,在大部分的应用中,把所有的DC电源的M接到地可以得到较佳的噪声抑制;在未接地的DC电源的公共端与保护地间可并联电阻与
电容
(RC元件/版权所有)。电阻提供了静电释放通路,电容提供高频噪声通路,如图4所示。
图4 S7-1200 PLC系统的直流供电及接地在CPU侧的实际接线中,应将PE进行接地处理,如图5所示。
图4 S7-1200 PLC系统的直流供电及接地在CPU侧的实际接线中,应将PE进行接地处理,如图5所示。
图4 S7-1200 PLC系统的直流供电及接地
在CPU侧的实际接线中,应将PE进行接地处理,如图5所示。
图5 S7-1200 PLC系统的直流供电及接地②数字量模板的使用A、数字量模板的接地及接地要求a、尽量采用可能短的导线◆ 数字量输入:较长为500m屏蔽线,或300m非屏蔽线; ◆数字量输出:较长为500m屏蔽线,或150m非屏蔽线。b、导线要尽量成对使用,用一根中性或公共导线与一根信号线或电源线相配对;c、数字量输出模块抑制保护。B、感性负载的使用准则◆ 数字量输出负载为感性负载时,为防止输出断开时的高压瞬变干扰,须增加抑制回路,否则可能导致PLC运行中断或至设备损坏; ◆ S7-1200 PLC的DC输出回路内部集成了抑制电路,该电路足以满足大多数应用对感性负载的要求;◆由于S7-1200 PLC继电器输出触点可用于开关直流或交流负载,所以未提供内部保护; ◆对于交流负载,可将压敏电阻(MOV)或其他电压抑制设备与并联RC电路配合使用,但不如单独使用有效。压敏电阻(MOV)通常会导致出现高达钳位电压的显着高频噪声。C、选择保护回路可以采用下面的指导来设计合适的抑制电路。设计的有效性取决于实际的应用,所以必须调整其参数以适应实际应用。要**所有的器件参数与实际应用相符合。 a、用于直流输出和控制直流负载的继电器输出的保护电路S7-1200 PLC的DC输出包括内部抑制电路,该电路足以满足大多数应用对感性负载的要求。由于S7-1200 PLC继电器输出触点可用于开关直流或交流负载,所以未提供内部保护。对于直流通道外加续流回路,其原理类似于继电器线圈外加浪涌抑制器,如图6所示。
图5 S7-1200 PLC系统的直流供电及接地②数字量模板的使用A、数字量模板的接地及接地要求a、尽量采用可能短的导线◆ 数字量输入:较长为500m屏蔽线,或300m非屏蔽线; ◆数字量输出:较长为500m屏蔽线,或150m非屏蔽线。b、导线要尽量成对使用,用一根中性或公共导线与一根信号线或电源线相配对;c、数字量输出模块抑制保护。B、感性负载的使用准则◆ 数字量输出负载为感性负载时,为防止输出断开时的高压瞬变干扰,须增加抑制回路,否则可能导致PLC运行中断或至设备损坏; ◆ S7-1200 PLC的DC输出回路内部集成了抑制电路,该电路足以满足大多数应用对感性负载的要求;◆由于S7-1200 PLC继电器输出触点可用于开关直流或交流负载,所以未提供内部保护; ◆对于交流负载,可将压敏电阻(MOV)或其他电压抑制设备与并联RC电路配合使用,但不如单独使用有效。压敏电阻(MOV)通常会导致出现高达钳位电压的显着高频噪声。C、选择保护回路可以采用下面的指导来设计合适的抑制电路。设计的有效性取决于实际的应用,所以必须调整其参数以适应实际应用。要**所有的器件参数与实际应用相符合。 a、用于直流输出和控制直流负载的继电器输出的保护电路S7-1200 PLC的DC输出包括内部抑制电路,该电路足以满足大多数应用对感性负载的要求。由于S7-1200 PLC继电器输出触点可用于开关直流或交流负载,所以未提供内部保护。对于直流通道外加续流回路,其原理类似于继电器线圈外加浪涌抑制器,如图6所示。
图5 S7-1200 PLC系统的直流供电及接地
②数字量模板的使用
A、数字量模板的接地及接地要求
a、尽量采用可能短的导线
◆ 数字量输入:较长为500m屏蔽线,或300m非屏蔽线;
◆数字量输出:较长为500m屏蔽线,或150m非屏蔽线。
b、导线要尽量成对使用,用一根中性或公共导线与一根信号线或电源线相配对;
c、数字量输出模块抑制保护。
B、感性负载的使用准则
◆ 数字量输出负载为感性负载时,为防止输出断开时的高压瞬变干扰,须增加抑制回路,否则可能导致PLC运行中断或至设备损坏;
◆ S7-1200 PLC的DC输出回路内部集成了抑制电路,该电路足以满足大多数应用对感性负载的要求;
◆由于S7-1200 PLC
继电器
输出触点可用于开关直流或交流负载,所以未提供内部保护;
◆对于交流负载,可将压敏电阻(MOV)或其他电压抑制设备与并联RC电路配合使用,但不如单独使用有效。压敏电阻(MOV)通常会导致出现高达钳位电压的显着高频噪声。
C、选择保护回路
可以采用下面的指导来设计合适的抑制电路。设计的有效性取决于实际的应用,所以必须调整其参数以适应实际应用。要**所有的器件参数与实际应用相符合。
a、用于直流输出和控制直流负载的继电器输出的保护电路
S7-1200 PLC的DC输出包括内部抑制电路,该电路足以满足大多数应用对感性负载的要求。由于S7-1200 PLC继电器输出触点可用于开关直流或交流负载,所以未提供内部保护。
对于直流通道外加续流回路,其原理类似于继电器线圈外加浪涌抑制器,如图6所示。
图6 直流继电器的外加续流回路在使用过程中,应将续流回路连接到模板上,并注意:◆在大多数应用中,只需在直流感性负载两端增加一个二极管,图7中的A;◆应用大电感或频繁开关的感性负载,要求更快的关闭时间,建议可再增加一个稳压二极管,如图7中的B。◆请确保正确选择稳压二极管,以适合输出电路中的电流量。
图6 直流继电器的外加续流回路在使用过程中,应将续流回路连接到模板上,并注意:◆在大多数应用中,只需在直流感性负载两端增加一个二极管,图7中的A;◆应用大电感或频繁开关的感性负载,要求更快的关闭时间,建议可再增加一个稳压二极管,如图7中的B。◆请确保正确选择稳压二极管,以适合输出电路中的电流量。
图6 直流继电器的外加续流回路
在使用过程中,应将续流回路连接到模板上,并注意:
◆在大多数应用中,只需在直流感性负载两端增加一个
二极管
,图7中的A;
◆应用大电感或频繁开关的感性负载,要求更快的关闭时间,建议可再增加一个稳压二极管,如图7中的B。
◆请确保正确选择稳压二极管,以适合输出电路中的电流量。
图7 DC线圈产生的浪涌的抑制回路说明:1指1N4001二极管或同等元件;2指8.2V稳压二极管(直流输出),36V稳压二极管(继电器输出);3指输出点;4指M、24V参考b、用于开关AC感性负载的继电器输出的保护电路使用继电器输出控制AC115V/AC230V负载时,应当在继电器输出触点输出负载上跨接RC回路,如图8所示,或使用压敏电阻(MOV)来线制峰值电压,注意选择MOV的工作电压比正常的线电压至少高出20%。
图7 DC线圈产生的浪涌的抑制回路说明:1指1N4001二极管或同等元件;2指8.2V稳压二极管(直流输出),36V稳压二极管(继电器输出);3指输出点;4指M、24V参考b、用于开关AC感性负载的继电器输出的保护电路使用继电器输出控制AC115V/AC230V负载时,应当在继电器输出触点输出负载上跨接RC回路,如图8所示,或使用压敏电阻(MOV)来线制峰值电压,注意选择MOV的工作电压比正常的线电压至少高出20%。
图7 DC线圈产生的浪涌的抑制回路
说明:1指1N4001二极管或同等元件;2指8.2V稳压二极管(直流输出),36V稳压二极管(继电器输出);3指输出点;4指M、24V参考
b、用于开关AC感性负载的继电器输出的保护电路
使用继电器输出控制AC115V/AC230V负载时,应当在继电器输出触点输出负载上跨接RC回路,如图8所示,或使用压敏电阻(MOV)来线制峰值电压,注意选择MOV的工作电压比正常的线电压至少高出20%。
图8 AC线圈产生的浪涌的抑制说明:1指关于C值,请参见表格;2指关于R值,请参见表格;3指输出点对于继电器输出通道外加续流回路,其原理类似于交流接触器线圈外加吸收回路,如图9所示。
图8 AC线圈产生的浪涌的抑制说明:1指关于C值,请参见表格;2指关于R值,请参见表格;3指输出点对于继电器输出通道外加续流回路,其原理类似于交流接触器线圈外加吸收回路,如图9所示。
图8 AC线圈产生的浪涌的抑制
说明:1指关于C值,请参见表格;2指关于R值,请参见表格;3指输出点
对于继电器输出通道外加续流回路,其原理类似于交流
接触器
线圈外加吸收回路,如图9所示。
图9 继电器输出通道外加续流回路③模拟量模板的接地要求A、线缆的要求◆尽量采用可能短的导线,模拟量输入/输出:100m屏蔽双绞线;◆使用屏蔽线以便较好地防止电噪声。通常在S7-1200 PLC端将屏蔽层接地能获得较佳效果。连接方式参考S7-300 PLC的模拟量信号线的屏蔽层处理方式。B、模拟量输入连接a、连接4线制传感器连接4线制传感器,建议将传感器信号负端和电源M做等电位处理,同时将模块的PE和24V的M做好接地,防止干扰,如图10所示。
图9 继电器输出通道外加续流回路③模拟量模板的接地要求A、线缆的要求◆尽量采用可能短的导线,模拟量输入/输出:100m屏蔽双绞线;◆使用屏蔽线以便较好地防止电噪声。通常在S7-1200 PLC端将屏蔽层接地能获得较佳效果。连接方式参考S7-300 PLC的模拟量信号线的屏蔽层处理方式。B、模拟量输入连接a、连接4线制传感器连接4线制传感器,建议将传感器信号负端和电源M做等电位处理,同时将模块的PE和24V的M做好接地,防止干扰,如图10所示。
图9 继电器输出通道外加续流回路
③模拟量模板的接地要求
A、线缆的要求
◆尽量采用可能短的导线,模拟量输入/输出:100m屏蔽双绞线;
◆使用屏蔽线以便较好地防止电噪声。
通常在S7-1200 PLC端将屏蔽层接地能获得较佳效果。连接方式参考S7-300 PLC的模拟量信号线的屏蔽层处理方式。
B、模拟量输入连接
a、连接4线制
传感器
连接4线制传感器,建议将传感器信号负端和电源M做等电位处理,同时将模块的PE和24V的M做好接地,防止干扰,如图10所示。
图10 S7-1200 PLC连接4线制传感器示意图b、连接3线制传感器3线制传感器的电源负端和输出信号的负端都是公共的,可以取模块的24V电源给传感器供电,传感器输出的正接模块通道正,通道负接电源M,将木块的PE和24V的M做好接地,防止干扰,如图11所示。
图10 S7-1200 PLC连接4线制传感器示意图b、连接3线制传感器3线制传感器的电源负端和输出信号的负端都是公共的,可以取模块的24V电源给传感器供电,传感器输出的正接模块通道正,通道负接电源M,将木块的PE和24V的M做好接地,防止干扰,如图11所示。
图10 S7-1200 PLC连接4线制传感器示意图
b、连接3线制传感器
3线制传感器的电源负端和输出信号的负端都是公共的,可以取模块的24V电源给传感器供电,传感器输出的正接模块通道正,通道负接电源M,将木块的PE和24V的M做好接地,防止干扰,如图11所示。
图11 S7-1200 PLC连接3线制传感器示意图c、连接2线制传感器连接2线制传感器时,由于S7-1200 PLC通道无法向外供电,需要传感器外部串入DC24V电源。可以取模块的24V电源给传感器供电,24V的正接传感器的正端,传感器的负端和模块通道正连接,通道负接电源M,将模块的PE和M做好接地,防止干扰,如图12所示。
图11 S7-1200 PLC连接3线制传感器示意图c、连接2线制传感器连接2线制传感器时,由于S7-1200 PLC通道无法向外供电,需要传感器外部串入DC24V电源。可以取模块的24V电源给传感器供电,24V的正接传感器的正端,传感器的负端和模块通道正连接,通道负接电源M,将模块的PE和M做好接地,防止干扰,如图12所示。
图11 S7-1200 PLC连接3线制传感器示意图
c、连接2线制传感器
连接2线制传感器时,由于S7-1200 PLC通道无法向外供电,需要传感器外部串入DC24V电源。可以取模块的24V电源给传感器供电,24V的正接传感器的正端,传感器的负端和模块通道正连接,通道负接电源M,将模块的PE和M做好接地,防止干扰,如图12所示。
CPU的程序分为操作系统和用户程序。操作系统用来处理plc的启动、刷新过程映像输入/输出区、调用用户程序、处理中断和错误、管理存储区和通信等任务。
用户程序由用户生成,用来实现用户要求的自动化任务。STEP 7将用户编写的程序和程序所需的数据放置在块中,功能块FB和功能FC是用户编写的子程序,系统功能块SFB和系统功能SFC是操作系统提供给用户使用的标准子程序,它们和组织块OB统称为逻辑块。
PLC得电或由S**模式切换到RUN模式时,CPU执行启动操作,将没有断电保持功能的位存储器、定时器和计数器清零,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。此外还要执行一次用户生成的“系统启动”组织块OB100,完成用户*的初始化操作。以后PLC采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。
在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别称为过程映像输入区和过程映像输出区。PLC梯形图中的其他编程元件也有对应的存储区。
下面是循环处理的各个阶段的任务(见图):
1)操作系统启动循环时间监控。
2) CPU将过程映像输出区的数据写到输出模块。
3) CPU读取输入模块的输入状态,并存入过程映像输入区。
4) CPU处理用户程序,执行用户程序中的指令。
5)在循环结束时,操作系统执行其他任务,例如下载和删除块,接收和发送全局数据等。
图 扫描过程
6) CPL返回*一阶段,重新启动循环时间监控。
在启动完成后,每次循环都要调用一次组织块OB1。OB1是用户程序中的主程序,它可以调用别的逻辑块(FB、FC、SFB或SFC)。循环程序处理过程可以被某些事件中断。如果有中断事件出现,当前正在执行的块被暂停执行,并自动调用分配给该事件的组织块。该组织块被执行完后,被暂停执行的块将从被中断的地方开始继续执行。
在循环程序处理过程中,CPU并不直接访问I/O模块中的输入地址区和输出地址区,而是访问CPU内部的过程映像区。
在读输入模块阶段,PLC把所有外部输入电路的接通/断开状态读人过程映像输入区。
外部输入电路接通时,对应的过程映像输入位为1状态,梯形图中该输入位的常开触点接通,常闭触点断开。外部输入电路断开时,对应的过程映像输入位为0状态,梯形图中该输入位的常开触点断开,常闭触点接通。
某一编程元件对应的位为1状态时,称该编程元件的状态为ON,该位为0状态时,称该编程元件的状态为OFF。在程序执行阶段,即使外部输入电路的状态发生了变化,过程映像输入位的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描循环周期的读取输入模块阶段被读入过程映像输入区。
PLC的用户程序由若干条指令组成,指令在存储器中顺序排列。在没有跳转指令和块调用指令时,CPU从*一条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处。在执行指令时,从过程映像输入区或别的存储区中将有关编程元件的0、1状态读出来,并根据指令的要求执行相应的逻辑运算,运算的结果写入到对应的存储区中,因此,各编程元件的存储区的内容随着程序的执行而变化。
在数字量(或称开关量)控制系统中,变量仅有两种相反的工作状态,例如高电平和低电平、继电器线圈的通电和断电,可以分别用逻辑代数中的1和0来表示这些状态,在波形图中,用高电平表示1状态,用低电平表示0状态。
使用继电器电路、数字电路或plc的梯形图都可以实现数字量的逻辑运算。图的上面是PLC的梯形图,下面是对应的数字门电路。
图中的I0.0~I0.4为数字输入变量,Q4.0~Q4.2为数字输出变量,它们之间的“与”、“或”、“非”逻辑运算关系如表1-1所示。“与”运算仅在输入均为1时输出才为1,“或”运算仅在输入均为0时输出才为0。“非”运算的输出与输入的状态总是相反,非运算又称为“取反”。
表 逻辑运算关系表
逻辑运算关系表
逻辑运算关系表
基本逻辑运算
基本逻辑运算
图 基本逻辑运算
a)与b)或c)非
用继电器电路或梯形图可以实现基本的逻辑运算,触点的串联可以实现“与”运算,触点的并联可以实现“或”运算,用常闭触点控制线圈可以实现“非”运算。
多个触点的串、并联电路可以实现复杂的逻辑运算,例如图中的继电器电路实现的逻辑运算可以用逻辑代数表达式表示为
式中的加号表示逻辑或,乘号(·)或星号(*)表示逻辑与,变量上面的横线表示“非”运算。与普通算术运算“先乘除后加减”类似,逻辑运算的规则为先“与”后“或”。为了先作“或”运算(触点的并联),用括号将“或”运算式括起来,括号中的运算优先执行。