在本章中,主要介绍输入输出继电器、辅助继电器、状态继电器、定时器、计数器、数据寄存器等各种软元件的功能和作用。
1、软元件一览表
2、输入继电器X和输出继电器Y
输入继电器X作用是接收外部开关量信息,将接收到的外部信息送到CPU,经过用户程序的处理由输出继电器Y控制外部设备,完成控制任务,输出继电器Y是运动控制器控制外部设备,完成控制任务的执行元件。
X和Y的基本功能是作位元件使用,也可将其组合作为字元件来处理,(如MOV D1000 K2Y0,此语句意思是将D1000的值按二进制方式将低8位,从最低位开始分别赋给Y0~Y7)。
在PLC的完整程序中,X、Y是相互依存的。
输入继电器和输出继电器根据接口硬件电路的不同,分为普通型和高速型。普通型无法做高速型使用,但高速型可做普通型使用。
2.1输入继电器编号
输入继电器的编号是由具体控制器输入端口对应的映射
运动控制器的X输入继电器编号如下:
2.2输出继电器编号
输出继电器的编号是由具体控制器输出端口对应的映射标识。这些编号使用8进制表达,因此不存在如8、9这样的数值。
运动控制器输出继电器Y编号如下:
3、辅助继电器(M)
辅助继电器M同输出继电器Y一样,可以被PLC内各种软元件的触点驱动。但M不能直接与外部端子相连,仅起辅助逻辑运算的作用。它的常开常闭触点在梯形图程序中可以无数次反复使用。
辅助继电器编号
M0~M3071为普通辅助继电器区,可做触点判断及逻辑运算,无使用限制。
M8000~M8255为特殊辅助继电器区,此区域继电器的状态往往是被系统赋予了特殊的含义,比如M8002为上电第一个扫描周期被接通。
4、状态继电器(S)
状态继电器S的主要作用是在步进顺控(STL)指令中表示工艺状态,以流程的方式,可以使程序变得结构清晰易懂,并且容易修改。当程序中没有步进顺控(STL)指令或步进顺控(STL)指令中用到的范围外的S,也可以把它当做辅助继电器M一样使用。
状态继电器编号
状态继电器S与辅助继电器M一样,有无数的常开/常闭触点,在顺序程序内可随意使用。在不用于步进顺控(STL)指令时,状态继电器S可在触点判断和逻辑运算中使用。
5、定时器(T)
定时器T(亦称时间继电器)的主要作用是定时控制。
定时器T可以作为数据寄存器使用,进行赋值、取值、数据比较等操作。
使用OUT指令开启定时器,当开启定时器的条件满足时,定时器开始计时,当计时值达到指定值时,其触点将闭合,若开启定时器的条件不断开,则计时值继续增加,直到最大值K32767时才停止变化,并保持计时值为K32767。开启定时器的条件断开后,计时器的计时值清零、触点断开。
如果是累计定时器,需使用RST指令复位、清零。
定时器编号及精度
6、计数器(C)
计数器C的主要作用是接收脉冲信号并计数,到达设定值时其触点动作,起控制作用。此外,可作定时器和数据寄存器使用。
计数器编号
计数器特征
根据编号的不同,C分为16位和32位两类,它们都由RST指令清零、复位。
16位C是增计数器,计数设定值可用常数项直接设定,亦可用数据寄存器间接设定,设定范围为1~32767。
32位C是环形可逆计数器,可进行增、减计数。计数值到达临界值的变化特点:K-2147483648减1变为K2147483647;K2147483647加1变为K-2147483648。
32位C的设定值与16位类似,既可用K直接设定,又可用数据寄存器间接设定,但必须占用编号连续的两个数据寄存器,例如(D1001、D1000)。
高数计数器
普通计数器一般只能接受50Hz左右频率变化的信号,在实际应用中常常需要计数速度满足KHz级的计数要求,高速计数器就是为满足这类对象所设计的。
高数计数器的使用
要使高速计数器实现计数功能,接入计数信号的外部端子标号和高速计数器编号必须要和高速计数器与外部输入端子的分配表一致,否则无法实现计数功能。
要使高速计数器实现计数功能,从外部端子接入的信号形式、信号类型及电平幅值要符合要求,否则无法实现计数功能或正确计数。
高速计数器通常依靠高速计数比较指令(DHSCS、DHSCR、DHST等)实现比较输出功能。
7、数据寄存器(D)
数据寄存器D的作用是存储数据,在数据运算、网络通讯等方面尤显重要。其可
数据寄存器D编号
数据寄存器构造
数据寄存器
处理数值的范围(10进制)16位:-32768~32767
8、指针(P)(I)
指针P用于用户调用子程序或程序跳转,指针I用于中断程序标号,其对应的中断类型有定时中断,外部中断,计数中断及高级中断。
指针编号
分支用指针的功能和动作实例
● 在控制程序流程时,作为分支标志或子程序名称,在CJ、CALL指令中使用。
● P作指令操作数时可变址修饰。
● P标识程序位置时(紧靠左母线)不能变址修饰。
● 作为子程序调用时,子程序结束时必须使用SRET指令返回到主程序,而且子程序必须处于FEND与END语句之间。
CJ条件跳转
CALL子程序调用
程序应用
楼主最近还看过