西门子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系统设计的主要任务包括分析工艺流程,明确控制要求、确定控制方案、选择机型和输入输出设备选择及输入输出点分配,施工设计、总装调试等。
(一)分析工艺流程,明确控制要求,确定控制方案
首先要详细分析实际生产的工艺流程,工作特点及控制系统的控制任务、控制过程、控制特点,控制功能,明确输入,输出量的性质,充分了解被控对象的控制要求。
在分析被控对象的基础上,根据PLC的特点,与继电器控制系统和计算机控制系统进行控制方案的分析与比较,如果被控系统的应用环境较差,而安全性,可靠性要求较高,输入输出多为开关量,而用常规的继电器接触器实现,系统较复杂或难以实现,工艺流程经常改变,那么,用可编程序控制器进行控制将是合适的。
(二)选择机型
随着PLC的推广普及,PLC产品的种类和型号越来越多,功能日趋完善。从美国,日本、德国等国家引进的PLC产品及国内厂商组装或自行开发的PLC产品已有几十个系列。上百种型号。其结构形式、性能、容量、指令系统,编程方法、价格等各有不同,适用的场合也各有侧重。因此,合理选择PLC产品,对于提高PLC控制系统的技术经济指标起着重要作用。一般来说,各个厂家生产的产品在可靠性上都是过关的,机型的选择主要是指在功能上如何满足自己需要,而不浪费机器容量。PLC的选择主要包括机型选择,容量选择,输入输出模块选择、电源模块选择等几个方面。
(三)输入输出设备选择及输入输出点分配
在PLC控制系统中,通常用作输入器件的强电元件是控制按钮,行程开关、继电器等的触点。PLC的执行元件通常有接触器、电动机、电磁阀,信号灯等。要根据控制系统的需要进行选择。
(四)施工设计
与一般电气施工设计相同, PLC控制系统的施工设计需完成下列工作:画出完整的电路图;注明电气元件清单;画出电气柜内电器位置图和电器安装接线互连图。
(五)总装调试
1、程序调试
将设计好的程序用编程器输入到PLC中,进行编辑和检查,发现问题,立即修改和调整程序。
2、现场调试
现场安装完毕后,可对硬件和软件进行联调,实现对某些参数的现场确定和调整。
3、安全检查
后对系统的所有安全措施作彻底检查,准确无误后即可投入试运行,待一切正常后,将程序固化在有长久记忆功能的只读存储器EPROM中长期保存。
1.梯形图编程语言
梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。
梯形图的设计应注意以下三点:
(一)梯形图按从左到右、从上到下的顺序排列。每一逻辑行起始于左母线,然后是触点的串、并联接,后是线圈与右母线相联。
(二)梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是形象地描述用户程序执行中应满足线圈接通的条件。
(三)输入继电器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入继电器的触点,而不出现其线圈。输出继电器输出程序执行给外部输出设备,当梯形图中的输出继电器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出继电器的触点可供内部编程使用。
2.语句表编程语言
指令语句表示一种与计算机汇编语言相类似的助记符编程方式,但比汇编语言易懂易学。一条指令语句是由步序、指令语和作用器件编号三部分组成。
3.控制系统流程图编程图
控制系统流程图是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前电工协会(IEC)正在实施发展这种新式的编程标准。
6ES72111BE400XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES72111AE400XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES72111HE400XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES72121BE400XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES72121AE400XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES72121HE400XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES72141BG400XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES72141AG400XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES72141HG400XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES72151BG400XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72151AG400XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES72151HG400XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |
当PLC处于正常运行时,它将不断重复扫描过程。分析上述扫描过程,如果对远程I/O、特殊模块和其他通讯服务暂不考虑,这样扫描过程就只剩下“输入采样”、“程序执行”和“输出刷新”三个阶段了。这三个阶段是PLC工作过程的中心内容,理解透PLC工作过程的这三个阶段是学习好PLC的基础。下面就对这三个阶段进行详细的分析。
(1) 输入采样阶段
PLC在输入采样阶段,首先扫描所有输人端点,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段和输出刷新阶段,在此阶段输入映像寄存器与外界隔离,无论输入情况如何变化,其内容保持不变,直到下一个扫描周期的输人采样阶段,才重新写入输入端的新内容。所以一般来说,输人信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
由此可见,输入映像寄存器的数据完全取决于输入端子上各输入点在上一刷新期间的接通和断开状态。
(2) 程序执行阶段
根据PLC梯形图程序扫描原则,一般来说,PLC按从左到右、从上到下的步骤顺序执行程序。当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”采集到的对应输入端子状态,从元件映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
(3) 输出刷新阶段
在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过输出端子和外部电源,驱动外部负载。
由此可见,输出映像寄存器的数据取决于输出指令的执行,输出锁存器中的数据由上一次输出刷新期间输出映像寄存器中的数据决定,而输出端子的接通和断开状态,完全由输出锁存器决定。