以下是一些超实用的 PLC 编程指令:
干货★★★★★资料
-
常开触点(LD) :用于从母线开始取用常开触点的状态,对应实际电路中开关的常开状态,比如在启动按钮控制电机启动的程序中,启动按钮对应的 PLC 输入点就可以用常开触点指令来读取其状态,若按钮按下,该常开触点闭合,信号能继续往后传递。 -
常闭触点(LDN) :从母线开始取用常闭触点状态,相当于实际电路里开关的常闭状态,可用于实现互锁等逻辑,例如电机正反转控制中,正转接触器的常闭辅助触点串入反转控制回路,在 PLC 程序里就用常闭触点指令来体现,防止正反转同时接通造成短路。 -
输出线圈(=) :将前面逻辑运算的结果赋给对应的输出点,以控制外部设备,像控制继电器、指示灯等。例如,当满足一定的启动条件逻辑运算后,通过输出线圈指令让 PLC 输出点得电,进而使连接的继电器吸合,启动相应的电机
定时器指令
-
接通延时定时器(TON) :当定时器的使能端接通后,开始计时,达到设定的时间值后,定时器的常开触点闭合、常闭触点断开,可用于实现设备的延时启动等功能。比如在一个自动化生产线中,某设备需要在按下启动按钮 5 秒后再开始运行,就可以利用 TON 指令来设置这 5 秒的延时。 -
断开延时定时器(TOF) :使能端从接通变为断开时,定时器开始计时,计时到设定时间后,对应的常开、常闭触点状态改变,常用于设备停止后的延时操作,例如电机停止运转后,需要延时 2 秒再切断某些辅助电路,就可以通过 TOF 指令实现。 -
保持型接通延时定时器(TONR) :即使定时器的使能端在计时过程中出现短暂断开情况,定时器也能保持已经累计的时间继续计时,常用于一些需要累计时间且允许中断的应用场景,像对间歇性工作设备的总工作时长统计。
计数器指令
-
加计数器(CTU) :每检测到一次计数脉冲的上升沿(从低电平变为高电平),计数器的当前值就加 1,当当前值达到预设的设定值时,计数器对应的常开触点闭合、常闭触点断开,可以用于对产品数量等进行计数,例如在流水线上对通过的产品个数进行统计,每通过一个产品触发一次计数脉冲,达到设定的生产数量后进行相应提醒或操作。 -
减计数器(CTD) :每接收到一次计数脉冲的上升沿,计数器当前值减 1,当当前值减为 0 时,相关的常开、常闭触点状态改变,可用于一些有数量限制且递减需求的场景,比如仓库出货时对剩余货物数量的计数控制。 -
加减计数器(CTUD) :既可以接收计数脉冲进行加计数,也可以通过特定的控制信号进行减计数,功能更为灵活,适用于需要双向计数的复杂应用,比如在电梯轿厢的楼层位置计数中,电梯上升时加计数,下降时减计数,准确掌握轿厢所处楼层位置。
比较指令
-
等于比较(==) :用于比较两个操作数是否相等,比如比较两个模拟量输入值是否相等,或者比较计数器的当前值和设定值是否相等,若相等则相应的逻辑结果为真,可以触发后续的控制动作,常用于精准判断的场合,像产品质量检测中判断尺寸等参数是否符合标准值。 -
大于比较(>) :比较一个操作数是否大于另一个操作数,在自动化控制中可用于根据不同的数值范围采取不同的控制策略,例如在温度控制系统里,当温度测量值大于设定的上限温度值时,启动降温设备进行降温操作。
-
小于比较(<) :判断一个操作数是否小于另一个操作数,同样能在很多控制场景中发挥作用,比如液位控制系统中,当液位测量值小于设定的下限液位值时,开启补液装置进行补液。
数据传送指令
-
字节传送(MOVB) :用于将一个字节长度(8 位)的数据从源地址传送到目标地址,在不同存储单元或者不同变量之间进行字节数据的转移,例如把一个传感器采集到的字节类型的状态数据传送到指定的寄存器中,方便后续对该数据进行处理或显示。
-
字传送(MOVW) :可以传送一个字长度(16 位)的数据,常用于对 16 位的模拟量输入值、计数器设定值等数据的传递操作,比如将通过人机界面设置的 16 位的电机转速设定值传送到 PLC 内部对应的寄存器,作为控制电机的目标转速参数。
-
双字传送(MOVD) :传送双字长度(32 位)的数据,在处理一些高精度的数值或者需要大容量数据存储、传递的场景中很实用,像对复杂的定位系统中的 32 位坐标值进行传递和处理。
移位指令
-
左移位(SHL) :将指定的数据(可以是字节、字、双字等)中的各位向左移动指定的位数,右边空出的位补 0,常用于对数据进行二进制倍数放大等操作,或者在数据的编码、解码场景中应用,比如对某些数字信号按位进行处理以满足特定通信协议要求。
-
右移位(SHR) :与左移位相反,是将数据各位向右移动指定的位数,左边空出的位补 0,在对一些数值进行缩小处理、提取数据的高位或低位等方面有应用,例如在对传感器采集到的多位二进制数据进行筛选分析时使用。
-
循环左移(ROL) :数据各位向左移动指定位数,移出的位依次循环补充到数据的右端,可用于对数据进行循环处理的特殊应用场景,像对加密算法中涉及的循环移位操作等。
-
循环右移(ROR) :各位向右移动指定位数,移出的位循环补充到数据的左端,同样在特定的数据处理、加密解密等领域有一定用途。
算术运算指令
-
加法指令(ADD) :可以对两个操作数(如两个整数、实数等)进行加法运算,将结果存储在指定的目标地址,在很多涉及到数值累加、计算总量等场景中常用,例如在物料混合系统中,计算不同原料的加入量总和。
-
减法指令(SUB) :实现两个操作数的减法运算,比如在库存管理系统中,计算出货后的剩余货物数量,用原库存数量减去出货数量,通过减法指令得出结果并更新库存数据。
-
乘法指令(MUL) :用于进行乘法运算,当需要根据单价和数量计算总价,或者根据速度和时间计算路程等情况时,乘法指令就能派上用场,快速准确地得出乘积结果。
-
除法指令(DIV) :执行两个操作数的除法运算,例如在化工生产中,按照配方比例将原料总量进行分配时,可能会用到除法指令来确定各成分的具体用量。