PLC软件系统中常用的编程语言整理

plc软件系统中常用的编程语言整理
一、外部输入设备的选用与plc输入继电器的使用
1. 外部输入信号的采集
plc的外部设备主要是指控制系统中的输入输出设备,其中输人设备是对系统发出各种控制信号的主令电器,在编写控制程序时必须注意外部输入设备使用的是常开还是常闭触点,并以此为基础进行程序编制。否则易出现控制错误。
在plc内部存储器中有专用于输入状态存储的输入继电器区,各输入设备(开关、按钮、行程开关或传感器信号)的状态经由输入接口电路存储在该区域内,每个输入继电器可存储一个输入设备状态。
plc中使用的继电器并非实体继电器,而是软继电器,可提供无数个常开、常闭触点用于编程。每个软继电器仅对应plc存储单元中的一位(bit),该位状态为1,表示该软继电器线圈通电,则程序中所有该继电器的触点都动作。输入继电器作为plc接收外部主令信号的器件,通过接线与外部输入设备相联系,其线圈状态只能由外部输入信号驱动。输入信号的采集工作示意图如图1。
图1 plc输入信号采集示意图
图1中,输入设备选用的是按钮sb0的常闭触点,输入继电器x0的线圈状态取决于sb0的状态。该按钮未按下时,输入继电器x0线圈状态为1通电状态,程序中所有x0触点均动作,即常开触点接通,常闭触点断开;
若按下该按钮,则输入继电器x0线圈状态为0断电状态,程序中所有x0触点均恢复常态。如果输入继电器连接的输入设备是按钮sb0的常开触点,则情况恰好相反:在该按钮未按下时,输入继电器x0线圈状态为0断电状态,程序中所有x0触点均不动作;若按下该按钮,输入继电器x0线圈状态为1通电状态,程序中所有x0触点均动作。
2. 停车按钮使用常闭型
由于plc在运行程序判别触点通断状态时,只取决于其内存中输入继电器线圈的状态,并不直接识别外部设备,因此编程时,外部设备的选用与程序中的触点类型密切相关。这是一个在对照电气控制原理图进行plc编程时易出现的问题。最典型的例子是基本控制--起保停控制中的停车控制。
图2 起保停控制电气原理图
图2为起保停控制电气原理图,在该系统中,按钮sb0用于停车控制,因此使用其常闭触点串联于控制线路。sbl为起动按钮,使用其常开触点。若使用相同的设备(即停车sb0用常闭触点,起动sbl用常开触点),利用plc进行该控制,则需编程梯形图程序(图3):
图3 
起保停控制梯形图程序(停车按钮使用常闭触点)
i/o分配:sb0--x0,sbl--xl,输出y0
该梯形图中停车信号x0使用的是常开触点串联在控制线路中,这是因为外部停车设备选取按钮常闭触点所致,不操作该按钮,则输出y0正常接通,若按下该按钮,输出y0断电。
3. 停车按钮使用常开型
若希望编制出符合我们平时阅读习惯的梯形图程序(图4),则在选用外部停车设备时需使用按钮sb0的常开触点与x0相连。
图4 起保停控制梯形图程序(停车按钮使用常开触点)i/o分配:sb0--x0,sbl--xl,输出y0
图3、4梯形图完成相同的控制功能,程序中停车信号x0使用的触点类型却不相同,其原因就是连接在输入继电器x0上的外部停车按钮触点类型选用不同。图4所示梯形图程序更加符合我们的阅读习惯,也更易分析其逻辑控制功能,因此在plc构成控制系统中,外部开关、按钮无论用于起动还是停车,一般都选用常开型,这是一个在使用plc时需要格外注意的问题。
二、plc的串行运行方式与控制程序的编制
plc与继电接触器控制的重要区别之一就是工作方式不同。继电接触器控制系统是按并行方式工作的,也就是说是按同时执行的方式工作的,只要形成电流通路,就可能有几个电器同时动作。而plc是以串行方式工作的,plc在循环执行程序时,是按照语句的书写顺序自上而下进行逻辑运算,而前面逻辑运算的结果会影响后面语句的逻辑运算结果。因此梯形图编程时,各语句的位置也会对控制功能产生关键影响。例如:
图5 程序1
程序1调试结果:x0接通3次,y3接通,x0再接通1次,y3断开。
图6 程序2
程序2程序调试结果.x0接通3次,y3接通瞬间即断开。
上面两个程序中,输出y3、计数器ctl02及内部通用继电器r0前面的逻辑条件均相同,仅仅是计数器ctl02所在语句位置发生了变化,而两段程序的运行结果就截然不同。这是因为ctl02对输出y3的影响方式发生了变化。
执行第一段程序时,将首先判断输出y3的状态,再判断ctl02的状态,ctl02的状态变化只能在下一个扫描周期对y3产生影响;而执行第二段程序时,将首先判断ctl02的状态,再判断输出y3的状态,ctl02的状态变化将在该扫描周期直接影响y3的状态。
从以上讨论可以得出,由于plc采用串行工作方式,所以即使是同一元件,在梯形图中所处的位置不同,其工作状态也会有所不同,因此在利用梯形图进行控制程序编制时,应对控制任务进行充分分析,合理安排各编程元件的位置,才能够更为准确地实现控制。
三、plc的编程元件
plc的各种功能主要是通过运行控制程序来实现。编制程序时,需要合理使用plc提供的编程元件(即软元件)。fpo型plc中常用的编程元件有两种:位元件(bit)和字元件(word)。
位元件实际上是plc内存区域所提供的一个二进制位单元,又被称为软继电器,主要用作基本顺序指令的编程元件,如输入继电器xn、输出继电器yn、内部通用继电器rn、定时(计数)器等,其参与控制的方式主要是通过对应触点的通断状态改变影响逻辑运算结果即输出。
字元件则为plc内存区域内的一个字单元(16bit),主要用作功能指令和高级指令的编程元件,通常用以存放数据,如数据寄存器dtn,定时(计数)器的设定值svn、经过值evn等。字元件没有触点,通常以整体内容参与控制。
值得注意的是内存中的输入(x)区、输出(y)区和内部通用(r)区,该区中的每个bit均可用作位元件,而且每16bit可构成一个字元件,如wrio即是由16个位元件r100~r10f构成的字元件,该字元件中的内容一旦发生变化,这16个位的状态也随之发生改变。如:
图7 编程元件示例程序
图7所示程序中,wr0即为字元件,是左移位指令sr的编程元件,而y0为输出软继电器的线圈,x0、x1、x2、x3则为输人软继电器的触点,其中第4步的r4触点为位元件r4的常开触点,而位元件r4又是字元件wr0中的一位,因此其状态受限于wr0的移位结果。
四、顺序控制多步同输出的编程方法
顺序控制是生产现场常见的一类控制任务,步进指令是plc指令库中专用于顺序控制的。步进指令编程时,根据工艺流程将程序划分为一个个独立的程序段,执行时,cpu严格按梯形图编程顺序,只有执行完前一段程序后才能激活下一段程序,并在下一段程序执行之前,将前面程序段复位。并且在语法上要求各程序段所使用的输出不允许重复。这在解决顺序控制任务中有多步同输出的情况时,就带来了一定的困难。借助于内部通用继电器可方便解决这一难题。如某一顺序控制任务如以下流程图(图8)所示。
图8 某机械手动作流程图
从机械手动作流程图可以看出,这个控制任务每个循环的工作可以划分为八步,其中第1步与第5步动作相同,均为上升;第3步和第7步动作相同,均为下降。在利用步进指令进行编程时,这两个工步所对应的程序段的输出不能直接设置为y3、y4,同一个输出使用两次则会出现语法错误。这时应考虑使用用于存储中间状态的内部通用继电器rn来解决这个问题。如图7所示梯形图程序,其中r1、r5分别被定义为第1步与第5步的输出,r3、r7分别被定义为第3步与第7步的输出,在步进结束后再将r1、r5的状态输出到上升y3,将r3、r7的状态输出到下降y4,通过这样的方法可方便解决顺序控制任务中若干工步输出相同的问题。
图9 机械手控制梯形图


由INA155/156构成用于检测负载电流大小的单电源高端电流监视器
Matlab古典控制系统设计—根轨迹法
中国广电成功拿到了5G入场券入局5G已是水到渠成
天玑芯片的真正实力
新能源汽车电池管理系统(BMS)中传感器技术应用
PLC软件系统中常用的编程语言整理
教大家如何计算电阻器自发热影响
无线电力传输技术应用
能耗管理系统简介
AI人脸识别赋能寻亲系统 用技术为破碎家庭保驾护航
三段式距离保护和三段式电流保护原理是相同的,它们有哪些区别?
变电站自动化系统优缺点 变电站自动化系统结构
Android 13第一个Beta版正式发布
芯视界推出全新堆叠式dToF深度传感器VA6320
山东天岳科创板IPO申请获受理 华为持股8.37%
华为超越三星成为全球第一品牌
全波整流电路和桥式整流电路的工作原理及其区别
爱立信完成对凯士林移动通信的收购,5G天线市场将受到重要影响
苹果MR头显新专利,与基站的本地无线串流模式
华为畅享50手机内部拆解原理