西门子6ES7214-2AS23-0XB8优质产品
下面通过步进电机环形分配器的PLC程序来进行说明:
(1)工作原理
步进电机控制主要有三个重要参数即转速、转过的角度和转向。由于步进电机的转动是由输入脉冲信号控制,所以转速是由输入脉冲信号的频率决定,而转过的角度由输入脉冲信号的脉冲个数决定。转向由环形分配器的输出通过步进电机A、B、C相绕组来控制,环形分配器通过控制各相绕组通电的相序来控制步电机转向。
如图5-47给出了一个双向三相六拍环形分配器的逻辑电路。电路的输出除决定于复位信号RESET外,还决定于输出端QA、QB、QC的历史状态及控制信号-EN使能信号、CON正反转控制信号和输入脉冲信号。其真值表如表5-4所示。
(2)程序设计
程序设计采用组合逻辑设计法,由真值表可知:
当CON=0时,输出QA、QB、QC的逻辑关系为:
当CON=1时,输出QA、QB、QC的逻辑关系为:
当CON=0,正转时步进机A、B、C相线圈的通电相序为:
当CON=1,反转时各相线圈通电相序为:
QA、QB、QC的状态转换条件为输入脉冲信号上升沿到来,状态由前一状态转为后一状态
控制 SIPLUS HCS4x00 加热控制系统的库。该系统用作 PROFINET IO 设备或在 SIMATIC S7-300/S7-400 中作为 PROFIBUS DP 从站。
SIPLUS HCS 是敏感工业热问题的智能解决方案,可确保对电阻负载进行高精度控制。
根据要求,我们提供通过 PROFINET 或 PROFIBUS 实现通信连接的 SIPLUS HCS4200 和 SIPLUS HCS4300 加热控制系统。
通过本应用示例,您将获得用于 STEP 7 V5.5 SP4 的“LHcs4x00"模块库,从而控制作为 PROFINET 设备或在 S7-300 或 S7-400 中作为 PROFIBUS 从站的 SIPLUS 4200/4300 加热控制系统。
图 1
优势
本应用示例具备以下优势:
通过模块库将 SIPLUS HCS4x00 直接集成到现有项目中
使用变量表便于控制您的 HCS4x00
配有用于测试的集成库的项目示例
STEP 7 V5.5 SP4 中关于 SIPLUS HCS4x00 加热控制系统的库模块文档和组态
该应用示例介绍如何在 WinCC (TIA Portal) 中组态与 S7-300/400 和 S7-1500 控制器交互的消息和报警。除了单个消息和报警的描述外,详细的分布说明也可帮助用户进行项目组态。
在机器和设备运行期间,必须显示关于 HMI 设备上的运行状态、错误以及各个过程状态的信息。
WinCC (TIA Portal) 报警系统可提供广泛的报警类型,可满足各种使用情况。
此应用说明旨在阐释报警系统的好处以及各种报警类型的差异,帮助用户选择适合自动化任务的报警。
该应用为您提供:
WinCC (TIA Portal) 中不同报警类型概览
WinCC (TIA Portal) 中不同报警类型的详细组态说明
枣庄西门子代理商
问题1:S7-200 PLC可以连接型编码器吗?
解答:S7-200 PLC可以连接型编码器,但应注意以下几点:
(1)S7-200 PLC可连接并行输出的型编码器。串行输出、总线型输出、变送一体型输出等型编码器需PLC具有相应的接口或组态能力,不能与西门子S7-200 PLC 直接连接。
(2)接入S7-200 PLC 的型编码器信号输出好是格雷码。如是纯二进制码,在数据刷新时可能有多位变化,读数会在短时间里造成错码。
(3)型编码器在每圈的每个位置都有一的编码,由于 PLC数据更新受程序扫描周期的影响,因此经PLC读取并换算后的编码器位置值相对于编码器当前位置值存在一定的误差。
(4)对型编码器进行接线时,必须确保其与PLC输入点连接好。如有个别连接不良点,该点电位始终是0,将会造成错码而无法判断。
问题2:S7-200 PLC与型编码器怎样接线?
解答:并行输出的型编码器输出有多少位就要占用PLC的多少位接点,以S7-200 PLC CPU224 为例,如使用12位输出的单圈型编码器(PNP集电极开路输出) ,需要占用CPU224的12位输入点。型编码器的12位信号输出线L0—L11依次接入CPU224 的I0.0—I0.7,I1.0—I1.3。如图1所示:
图1 CPU224输入端与型编码器接线图
问题3:怎样处理格雷码码值?
解答:西门子S7-200 PLC的寄存器中地址越高,字节位越低。如在输入寄存器中IW0 的
IB0 是高字节,IB1是低字节,因此必须将IW0 中的格雷码值左循环8 次,将高、低位字节调换一次位置得到正确排序的格雷码值存入VW0中。如图2所示:
图2 字循环左移8次
而且,由于接入12位输出的单圈型编码器,需屏蔽掉IW0字内的I1.4—I1.7,将需要的格雷码数据存入VW2中。如图3所示:
图3 逻辑与运算
在实际应用中,为了计算编码器转过的角度或位置,需使用格雷码指令GRAY_BIN_W功能块将格雷码解码为字类型的标准二进制码,对应放到VW4中。如图4所示:
图4 格雷码转换
在扫描周期的执行阶段,CPU
执行主程序,从*条指令开始并继续执行到后一个指令。
在主程序或中断例程的执行过程中,使用立即 I/O 指令可立即访问输入和输出。
如果在程序中使用子例程,则子例程作为程序的一部分进行存储。主程序、另一个子例程或中断例程调用子例程时,执行子例程。
从主程序调用时子例程的嵌套深度是 8 级,从中断例程调用时嵌套深度是 4 级。
如果在程序中使用中断,则与中断事件相关的中断例程将作为程序的一部分进行存储。 在正常扫描周期中并不一定执行中断例程,而是当发生中断事件时才执行中断例程(可以是扫描周期内的任何时间)。
为 14 个实体中的每一个保留局部存储器:
主程序、八个子例程嵌套级别(从主程序启动时)、一个中断例程和四个子例程嵌套级别(从中断程序启动时)。
局部存储器有一个局部范围,局部存储器仅在相关程序实体内可用,其它程序实体无法访问。 有关局部存储器的详细信息,请参见本章中的局部存储区: L。
下图描述了一个典型的扫描流程,该流程包括局部存储器使用和两个中断事件(一个事件发生在程序执行阶段,另一个事件发生在扫描周期的通信阶段)。
子例程由下一个较别调用,并在调用时执行。
没有调用中断例程;发生相关中断事件时才调用中断例程。
图 4-1 典型扫描流程
4.1 访问数据CPU 将信息存储在不同存储单元,每个位置均具有的地址。可以显式标识要访问的存储器地址。 这样程序将直接访问该信息。
要访问存储区中的位,必须地址,该地址包括存储器标识符、字节地址和位号(也称为“字节.位"寻址)。
表格 4- 2 位寻址
位地址元素说明A存储区标识符B字节地址: 字节 3C分隔符(“字节.位")D位在字节中的位置(位 4,共 8 位,编号 7 到 0
的位)
E存储区的字节F选定字节的位在此示例中,存储区和字节地址(“M3")代表 M 存储器的第 3个字节,用句点(“.")与位地址(位 4)分开。
使用“字节地址"格式可按字节、字或双字访问多数存储区(V、I、Q、M、S、L 和SM)中的数据。
要按字节、字或双字访问存储器中的数据,必须采用类似于位地址的方法地址。这包括区域标识符、数据大小标识和字节、字或双字值的起始字节地址,如下图所示。
下表给出了不同数据长度可表示的整数值范围
淄博西门子代理商
表格 4- 3 不同数据长度表示的十进制和十六进制数范围
表示方式字节 (B)字 (W)双字 (D)无符号整数0 到 255
16#00 到 16#FF
0 到 65,535
16#0000 到 16#FFFF
0 到 4,294,967,295
16#00000000 到 16#FFFFFFFF
有符号整数-128 到 +127-32,768 到 +32,767-2,147,483,648 到 +2,147,483,64716#80 到 16#7F16#8000 到 16#7FFF16#8000 0000 到 16#7FFF FFFF实数(IEEE不适用不适用+1.175495E-38 到32
+3.402823E+38(正数)位浮点数)
-1.175495E-38 到 -3.402823E+38(负数)
使用包括区域标识符和设备编号的地址格式来访问其它 CPU 存储区(如 T、C、HC和累加器)中的数据。
4.1.1 访问存储区I(过程映像输入)
CPU
在每次扫描周期开始时对物理输入点采样,然后将采样值写入过程映像输入寄存器。用户可以按位、字节、字或双字来访问过程映像输入寄存器:
表格 4- 4 I 存储器的寻址
位:I[字节地址].[位地址]I0.1字节、字或双字:I[大小][起始字节地址]IB4、
IW7、
ID20
Q(过程映像输出)
扫描周期结束时,CPU
将存储在过程映像输出寄存器的值复制到物理输出点。用户可以按位、字节、字或双字来访问过程映像输出寄存器:
表格 4- 5 Q 存储器的寻址
位:Q[字节地址].[位地址]Q1.1字节、字或双字:Q[大小][起始字节地址]QB5、QW
14、QD28
V(变量存储器)
可以使用 V 存储器存储程序执行程序中控制逻辑操作的中间结果。 也可以使用 V
存储器存储与过程或任务相关的其它数据。 可以按位、字节、字或双字访问 V 存储器:
表格 4- 6 V 存储器的寻址
位:V[字节地址].[位地址]V10.2字节、字或双字:V[大小][起始字节地址]VB16、
VW100、
VD2136
M(标志存储器)
可以将标志存储区(M
存储器)用作内部控制继电器来存储操作的中间状态或其它控制信息。可以按位、字节、字或双字访问标志存储区:
表格 4- 7 M 存储器的寻址
位:M[字节地址].[位地址]M26.7字节、字或双字:M[大小][起始字节地址]MB0、MW
11、MD20
T(定时器存储器)
CPU 提供的定时器能够以 1 ms、10 ms 或 100 ms
的精度(时基增量)累计时间。定时器有两个变量:
当前值: 该 16位有符号整数可存储定时器计数的时间量。
定时器位: 比较当前值和预设值后,可置位或清除该位。预设值是定时器指令的一部分。
可以使用定时器地址(T + 定时器编号)访问这两个变量。访问定时器位还是当前值取决于所使用的指令:
带位操作数的指令会访问定时器位,而带字操作数的指令则访问当前值。
如下图所示,“常开触点"指令访问的是定时器位,而“移动字"指令访问的是定时器的当前值。
定时器:T[定时器编号]T24表格 4- 8 T 存储器的寻址
C(计数器存储器)
CPU 提供三种类型的计数器,对计数器输入上的每一个由低到高的跳变事件进行计数: 一种类型仅向上计数,一种仅向下计数,还有一种可向上和向下计数。
有两个与计数器相关的变量:
当前值: 该 16位有符号整数用于存储累加的计数值。
计数器位: 比较当前值和预设值后,可置位或清除该位。预设值是计数器指令的一部分。
可以使用计数器地址(C + 计数器编号)访问这两个变量。访问计数器位还是当前值取决于所使用的指令:
带位操作数的指令会访问计数器位,而带字操作数的指令则访问当前值。
如下图所示,“常开触点"指令访问的是计数器位,而“移动字"指令访问的是计数器的当前值。
计数器C[计数器编号]C24表格 4- 9 C 存储器的寻址
图 4-3 访问计数器位或计数器的当前值
HC(高速计数器)
高速计数器独立于 CPU 的扫描周期对高速事件进行计数。 高速计数器有一个有符号 32 位整数计数值(或当前值)。 要访问高速计数器的计数值,您需要利用存储器类型 (HC)和计数器编号高速计数器的地址。
高速计数器的当前值是只读值,仅可作为双字(32 位)来寻址。
表格 4- 10 HC 存储器的寻址
高速计数器HC[高速计数器编号]HC1AC(累加器)
累加器是可以像存储器一样使用的读/写器件。
例如,可以使用累加器向子例程传递参数或从子例程返回参数,并可存储计算中使用的中间值。 CPU 提供了四个 32 位累加器(AC0、AC1、AC2 和 AC3)。
可以按位、字节、字或双字访问累加器中的数据。
被访问的数据大小取决于访问累加器时所使用的指令。
如下图所示,当以字节或字的形式访问累加器时,使用的是数值的低 8 位或低 16 位。
当以双字的形式访问累加器时,使用全部 32 位。
表格 4- 11 AC 存储器的寻址
累加器AC[累加器编号]AC0图 4-4 访问累加器
SM(特殊存储器)
SM 位提供了在 CPU 和用户程序之间传递信息的一种方法。可以使用这些位来选择和控制 CPU 的某些特殊功能,例如:
在*个扫描周期接通的位、以固定速率切换的位或显示数学或运算指令状态的位。可以按位、字节、字或双字访问 SM 位:
表格 4- 12 SM 存储器的寻址