PLC可编程器

2024-07-25

PLC可编程器(共7篇)

PLC可编程器 篇1

摘要:当前, 随着社会分工的细化, 电子电器产品在日常生活中的广泛应用, 人类对于控制技术的发展有着迫切的需求。进入21世纪以来, 各国科学技术发展迅速, 对于生产电机控制方面也取得了突飞猛进的发展, 其中以PLC可控制编程器控制电机同步技术当前已经日趋完善并不断成为当前电机控制的主流技术。

关键词:PLC,可控制编程器,电机同步运转

0 引言

当前, 随着社会分工的细化, 人类对于控制技术的发展有着迫切的需求。进入21世纪以来, 各国科学技术发展迅速, 对于生产电机控制方面也取得了突飞猛进的发展, 其中一项重大突破就是电机的同步技术。而PLC (Programmable Logic Controller, PLC) 技术的应用则是实现智能化电机同步控制的重大突破。PLC是指可编程逻辑控制器, 它采用一类可编程的存储器, 用于其内部存储程序, 执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令, 并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。也可以简单的理解它是PC机上的CPU, 可以通过模拟式输入指令及数字信息来对各种不同的生产机械进行电脑智能化控制的监控装置。

在工业方面, 机床的供给系统的控制, 自动化生产线的自动运转的控制, 以及其它各种自动控制的系统, 都离不开PLC控制技术。尤其是机床的供给系统, 它需要极强的同步控制, 它的同步精度直接影响产品的质量好坏, 人类在如何控制电机同步方面做了大量努力, 而PLC控制电机同步技术的出现, 给我们实现高精度控制带来了曙光, 为我们的工业发展提供了重要支撑。在另一方面, PLC控制电机同步技术也为我们的生活带来了巨大的变化, 我们生活中常见的电梯、自动洗衣机、空调等用品的自动控制系统也是由PLC控制电机同步技术来实现的。

1 应用实验

1.1 控制方案

1.1.1 硬件准备

为了清楚地研究电机同步技术, 需要准备必要的硬件设备。系统的主要硬件设备包括:PLC可控制编程器1个、小功率5 0W的AS型伺服电机1个, 触摸屏1个, 通信总线若干。其中最重要的是PLC和伺服电机。首先我们选择合适的PLC, 因为在研究中PLC要与伺服电机进行配合实现不同状态下的运动速度控制, 所以必须在PLC内设置一定的程序。

1.1.2 方案设计

如图1所示, 以触摸屏为输入口, 将信息指令从这里输入, 再通过通信总线进行指令传输, 最终送到PLC控制器。PLC控制器进行逻辑运算并将运算结果通过通信总线传输给伺服电机的控制器, 伺服电机控制器再次进行运算, 将结果传输给伺服电机, 控制伺服电机的转速。同时, 伺服电机通过测速的反馈元件将电机现行的转速信息反馈给伺服控制器, 这样就形成了伺服电机的闭环控制系统, 达到了转速稳定的效果。

1.2 控制过程

在进行控制时首先在触摸屏的对话框中输入一个四位数值, 即设定电机的转速。但经过测试显示, 屏幕所输入的数值、整形数据与电机实际的运转过程中的转速并不完全相同, 甚至出现很大偏差。因此需要研究如何使电子转速与输入值相同的问题。通过实践得出以下关键数据, 即当整形数据为2711时, 实测转速为500。当整形数据为30854时, 实测转速为6000。500与6000是电机的最高转速与最低转速。由此可以进行数据公式的推导。得出如下公式:y=s.117x+152。其中y为输入的整形数据, x为电机的实际运转速度。由此, 即可以实现伺服电机转速的精确控制。

1.3 实验结论

实验中共测试了15组数据, 通过数据采集与计算得出PLC在控制电机同步的误差范围在0.05%以内。可以得出以下结论:PLC在控制电机同步方面具有非常大的优势, 它不仅可靠性强, 操作方便, 易于控制, 而且在控制精度方面, 目前比其它的所有可编程控制技术的效果都好。

2 结语

随着电子时代的发展, 人类对于自动控制相关电器需求的不断增长, 必然会使得同步控制技术向着新的高峰攀登。当前, PLC可控制编程器在控制电机同步运转技术中的应用被广泛应用于自动化电梯控制、工业机床等各方面。PLC技术以其误差小、稳定性高、可靠性强的优势不仅在当前工业发展中起着重要的支撑作用, 也必将在未来的科技发展中起到重要的作用。

参考文献

[1]吴平, 马敏肖, 王根永, 张江涛.西门子S7-200 PLC与台达变频器的通讯控制与应用[J].科技信息 (科学教研) , 2007 (21)

[2]林建华, 麻红昭, 张伟, 张华.基于PLC和模糊自整定参数的纸张烘干同步控制系统[J].制造业自动化, 2006 (1)

[3]王华军.一种简单实用的变频器应急备份应急电路[J].中国科技信息, 2011 (10)

[4]叶小川.浅谈变频调速系统中的干扰问题[J].科技资讯, 2009 (27)

PLC编程器的应用 篇2

关键词:编程器,电路图,梯形图,指令

随着科学技术的发展, 尤其是汽车生产工业在全世界的推广, 其自动化的控制很广泛, PLC可编程序控制器的应用就显得更为重要。但是技工学校的学生基础差, 理解不了编程器的结构、原理, 但笔者认为结构原理并不重要, 主要是它的应用比较重要, 只要有电力拖动控制线路的一些知识, 学习这门课就比较顺利。但讲解时要注意方式“浅显易懂”, 由浅入深、环环相扣, 使同学学习轻松愉快, 在已有的基础上提出新的问题让同学们自己思考解决, 老师在旁边提示辅导, 最后通电运行来检验学生的学习结果, 这样大家的学习兴趣会越来越浓。这个方法对外行也可行, 只是进行慢点, 做一个内容通一次电验证其结果, 在循序渐进中进行新的内容。我们用几个按钮来控制电动机的运行。

1) 接PLC的电源线:PLC的L、N之间通过隔离开关、熔断器接入220V的外接电源 (注意E是PLC公共接地端, 千万不能接错, 内部电源自动产生24V, 供内部使用) 。

2) 根据电气拖动的要求接入输入输出端。现在从简单课题一个一个讲起 (当然配合表格、梯形图和电气图来说明更为清楚) 。

1 课题一:电动机的单向控制

1) 输入输出接线:输入端的COM和X0端接入启动按钮SB0的常开触头。

输出端Y0接入接触器KM的线圈, 线圈的出线端和输出端的COM端也通过隔离开关、熔断器接入220V的外接电源。

2) 电动机主电路的接线:三相电源380V经隔离开关、熔断器、接触器的主触头、接到三相电动机的3个相线上。

1.1 点动控制:

1) 编程:LD X0 OUT Y0;

2) 通电:合上两个220V、一个380V电源, 将PLC的开关置于OFF, 写入指令, 读入正确后, 将PLC的开关打向ON。按下按钮SB0, 此时输入继电器X0动作, 常开触头闭合, 输出继电器Y0动作, 接触器KM线圈得电动作, KM主触头闭合, 电动机运行;

3) 特点:按下按钮SB0电动机就旋转, 松开按钮SB0电动机就停止;

4) 提出问题:如何让电动机能够连续运行。

1.2 续动控制

解决办法:借助电力拖动的知识, 给按钮加一个自锁, 但我们不用直接加物理化的自锁, 只要在编程中加入就能解决问题, 即给X0的常开锄头上并联Y0常开触头, 也就是在编程的第二步加入OR Y0, 这时就没办法停止了, 所以加完自锁后应该再加个停止按钮SB1。保证能启能停, PLC的输入端X1和COM端接入SB1停止按钮的常开触头。编程第三步ANI X1第四步OUT Y0

通电检验:关闭PLC, 重新写入指令, 再打开PLC, 运行电动机。这时的结果就是电动机连续运行起来, 按下停止按钮电动机停止。我们只是改变指令, 运行效果得到了改变, 这就是PLC的优势所在, 以软件控制硬件。

提出问题:续动期间电动机不能过载。

1.3 带过载保护的电动机的单向运行

1) 解决方法:把热继电器的常开触头接在PLC的输入端X3上 (另一端子接输入端的COM端) , 在编程中干线串入X3的常闭触头。即LD X0 OR Y0 ANI X1 ANI X3 OUT Y0;

2) 运行结果:能启能停, 还有过载保护。

2 电动机的双向控制:

提出问题:在单向控制的基础上, 如何进行双向的控制设计。

解决方法:

1) 在主电路中增加一个接触器KM2, 用于倒相序;

2) 在输入端X2上接入反转启动按钮的常开触头;

3) 在输出端Y1上接KM2的线圈, 和正转并联;

4) 在输出并联电路上增加KM1、KM2的两个物理互锁触头;

5) 编程中也增加Y0、Y1的互锁触头。

编程如下:LD X0 OR Y0 ANI X1 ANI X3 ANI Y1 OUT Y0

LD X2 OR Y1 ANI X1 ANI X3 ANIY0 OUT Y1

通电运行:重新读入指令, 检查正转、停止;反转、停止的运行情况。但有个问题:正反转之间不够灵活方便 (不能直接换向) , 为此我们采用双重联锁方式就可以解决问题。

3 电动机的限位控制

提出问题:电动机双向运行后, 机械运行的两个方向如何限制它的运行轨迹。

解决方法:

1) 在输入端X4 X5接入两个位置开关SQ1 SQ2的常开触头。 (另一端子接输入端的COM端、两个位置开关安装在机械需要换向的地方) ;

2) 在编程中正转一路串入正转的限位X4的常闭触头, 在反转一路也串入反转的限位X5的常闭触头;

编程如下:LD X0 OR Y0 ANI X1 ANI X2 ANI X3 ANI X4ANI Y1 OUT Y0

LD X2 OR Y1 ANI X1 ANI X0 ANI X3 ANI X5 ANI Y0 OUTY1

通电运行:1) 正转;限位:碰下SQ1, 电动机正转停止 (事实上是机械运行时碰的) ;2) 反转;限位:碰下SQ2, 电动机反转停止。

4 电动机的自动往返循环控制

1) 提出问题:能否在电动机正反转运行过程中, 达到控制机械直线运行的限位和自动反转。象磨床加工时那样, 工作台带着工件左右自动循环。

2) 解决方法:碰下SQ1, 电动机正转停止, 同时接通反转电路。也就是把正转限位X4常开触头, 并联在反转X2的常开触头上;同理把反转限位X5常开触头, 并联在正转X0的常开触头上, 并不改变硬件的安装接线。

3) 编程如下:LD X0 OR Y0 OR X5 ANI X1 ANI X2 ANI X3ANI X4 ANI Y1 OUT Y0

LD X2 OR Y1 OR X4 ANI X1 ANI X0 ANI X3 ANI X5 ANIY0OUT Y1

4) 通电运行:按下SB0, 电动机正转。到位时机械碰撞SQ1动作, 后X4动作, 它的常闭触头切断了Y0, KM1失电, 正转停止;它的常开触头闭合, 接通Y1, 进而KM2通电动作, 电动机反转。同理反转到位时机械碰撞SQ2动作, 后X5动作, 它的常闭触头切断了Y1, KM2失电, 反转停止;它的常开触头闭合, 接通Y0, 进而KM1通电动作, 电动机正转运行。

5) 电气特点:工件夹好后, 进给量一次设定, 按下SB0机床就可以自动完成整个加工过程。

多核PLC编程研究 篇3

1.1 PLC的诞生与发展

PLC全称是Programmable Logic Controller,即可编程控制器,最早出现于20世纪60年代,伴随着微处理器(MPU)和超大规模集成电路技术的发展迅速成长。至20世纪80年代,欧美开始使用微处理器作为PLC的中央处理单元,确立了PLC的哈佛结构。哈佛结构用不同的存储器分别存储程序指令和数据,这样使得数据和程序指令的读取可以同时进行,具有较高的执行效率。

上世纪末,IEC 61131成为PLC国际标准,以及微处理器技术飞速发展,PLC在体系结构上,就是多核化和异构化的发展趋势。

本世纪以来,PLC编程逐渐走向标准化,利用统一的编程标准,可以突破不同PLC平台的限制,方便地进行PLC程序移植;基于标准编写的程序,甚至可以在PLC与非PLC平台之间移植。

1.2 多核PLC前景

多核处理器突破了单核处理器发展的瓶颈,异构为多核带来了更多优点[1]:

1)控制逻辑简单:单个核心处理的任务类型单一;

2)高主频:全局信号少,减少了线延迟;

3)强扩展性:各核处理特定任务,可以针对单个核心升级扩展而不影响其他任务;

4)低功耗:多核体系中区分核内时钟和跨核时钟,降低驱动负载。

传统PLC大都采用分时任务操作系统,把CPU划分为多个时间片,每个任务轮流占用CPU;操作系统也有优先级策略,可以满足高响应速度需求的进程优先占用;但时间片是基本的执行单位,操作系统进行任务切换也需要开销,所以响应速度只能局限在毫秒级。

当前PLC应用在更大规模的问题上,数据和计算量都有了量级的提升,在更高精尖的领域,也需要更高的响应速度,单核PLC的分时系统已经难以满足求。多核PLC中,采用分核操作系统实现,将特定任务分配给特定的核心执行,每个核心采用分时策略;对于需要快速响应的任务,通常可以使用专门的核心进行通信;大量的计算和数据流,可以交给多个IO核心与计算核心并形完成。为了实现多个核心的协调,多核PLC系统往往会有一个主核心,完成控制和协调工作。通过这种多核心任务分发,减轻单个核心的负载,对整个系统的计算能力和响应速度有很大的提升,是突破单核PLC性能瓶颈的方案。

2 PLC图形编程模型

PLC大多数情况是面向非软专业件开发人员,所以通常采用图形化界面,无需代码,直观展示逻辑。PLC编程中通常使用梯形图方式来表示器件,下面介绍一种PLC梯形图编程的设计思路。

2.1 梯形图检查

梯形图是用户编程的图形接口,需要进行基本的检查,类似于普通程序编译器中的语法检查[2]。检查过程如图1。

短路判断:记录两并连线之间的元件个数N,如果N=0,则判断为短路。

断路判断:沿着电路遍历元件,并对经过的元件设立标志位VISITED=TRUE;梯形图中存在VISITED=FALSE的元件,即可判断其断路。

2.2 构造逻辑树

梯形图是电路逻辑的图形化表示,梯形图必须转化为指令表,进而编译成机器语言,才能在PLC的微处理器上执行。梯形图整个编辑过程是动态添加与删除,故采用链表存储图形元素;再把已完成的梯形图构造为树[3]。

经过2.1检查过的单个梯级图,总能用树形结构表示。图2展示了一个梯级图转换为树形结构的结果。通过逐个元件遍历梯形图,就能从叶节点到根节点生成一棵树。树的每个叶节点与梯级图中的元件一一对应;每个非叶节点,存储了其子树代表的局部电路的连接关系。每个梯级图可转换为一棵单根树,该树的所有元件出现在叶子节点,所有的叶子节点都是元件。对于有多个梯级图的PLC电路,会生成一个森林。

梯级图的遍历方式与电流经过的路径一致,树的生成按照从叶子到根逐层升高,对应梯级图中从元件到局部电路再到全局电路的表示。

2.3 遍历逻辑树生成指令

对每个逻辑树中的节点而言,需要回溯到其父节点,获取所有兄弟节点,并根据父节点提供的连接关系与兄弟节点生成电路逻辑,所以每个节点必须包含如下信息:

节点信息:叶节点的元件类型或非叶节点的连接关系。

2)子节点:可以采用线性结构存储指向所有孩子的指针。3)

3)父节点:指向父节点的单个指针。

一棵逻辑树中的根节点、非叶非跟节点、叶节点可以通过子节点和父节点是否为空判断。基于以上数据结构,可以通过树的从底向上遍历生成指令,规则如下:

1)起始时,申请一个栈,用来存储中间结果和原始操作数;

2)LD,直接将操作数入栈;

3)ALD,栈顶两个元素出栈,进行与运算,结果入栈;

4)OLD,栈顶两个元素出栈,进行或运算,结果入栈;

5)=,栈顶元素出栈,并为当前操作数赋值;6)

6)运算指令,栈顶元素出栈,与当前操作数预算,结果入栈。

3 并行化方案

传统的PLC图形编程已经相对成熟,在传统的编程模型基础上,使用并行方案为不同的核心生成不同的控制逻辑与数据流,可以达到多核协作并发的目的。下面介绍几种并行方案。

3.1 扩展编译器

大多数的高级编程语言编写的程序,都是经过编译器转换为汇编指令,进而转换为机器码才能被处理器所执行。PLC编程也要经过逻辑树转换为指令集,才能生成机器码供MPU执行,所以编译器PLC程序执行的必由之路,也是并行化的重要途径[4]。

编译器是根据用户编写的程序生成指令的工具,所以并行化过程对用户透明,不会给程序编写人员带来额外负担。

在多核异构PLC平台下,图形化编程将梯形图转化为指令表,可以在这一步加入并行编译器。编译器需要绑定目标PLC平台,根据核心分布情况,将不同的逻辑转换为对应核心的指令表。比如,IO密集型和计算密集型的任务,需要分配给不同的核心。在实际应用中,系统需要根据各核心的负载情况和公共资源使用,编译器需要考虑到负载均衡、数据共享、访问控制,否则容易产生运算错误或过长的停止等待,影响多核的实际效率。

由此可见,这个方案为编译器提出了更加苛刻的要求:对于复杂的代码,考虑到并行与体系结构的紧密相关性,编译器并不能识别很多并行代码,从而造成并行程度不足;对于复杂的体系结构和高关联性任务,编译器无法胜任负载均衡、多核优化等需求,使程序无法很好的并发执行。因此,扩展编译器对多核PLC编程而言,是一种简单的实现方案,但存在先天不足。

3.2 扩展串行语言

扩展串行语言有很多方式,在高级编程语言中,Open MP是基于该方案一种流行的API。这类方案通过调用为使串行语言支持并行模型,例如多核情况下的消息通信、数据共享等。与编译器扩展方案不同,这种方式需要一定地代码修改,显式地调用相关API,指定并发的代码段和同步方案。

Open MP值得借鉴的是,其与平台无关的实现形式,这在多品牌、多型号的PLC市场显得尤为重要。

Open MP的思想应用到多核PLC平台,就需要PLC硬件对用户提供多线程指令,同时需要主控核心执行这些指令,将对应的线程分配到对应的核心。但是,PLC编程不是面向专业的程序开发人员或硬件设计人员,所以直接操控硬件资源分配的编程方式具有很大的风险,对PLC程序的稳定性构成了一定威胁。

考虑到扩展方式的优势和风险,可以通过基于PLC虚拟机的集成开发环境实现。用户根据串行方案编写程序后,集成开发环境可以调用相关API做并行优化,并在PLC虚拟机上执行优化后的机器码,同时根据仿真情况给出性能报告,通过自优化和用户改进提高并行效率,是一种可行的并行化方案。

4 结论

传统计算机的多核编程方案对PLC编程有一定的借鉴意义,相信随着PLC异构多核技术的成熟与多核编程方案的成熟,多核PLC的应用也会更加广泛。

摘要:PLC,即可编程逻辑控制器,广泛应用于工业生产中的自动化控制、信息采集环节。目前单核PLC逐渐难以应对复杂的工业场景,多核处理器PLC有异构等特性,在性能、功耗、响应和计算能力方面有显著优势。本文旨在分析多核处理器PLC的优势与编程方案。

关键词:可编程逻辑控制器,异构多核系统

参考文献

[1]陶旭东.用于先进PLC的异构多核MPU研究与设计[D].沈阳理工大学,2011.

[2]莫易敏,章德平,周哲.PLC梯形图转化为指令表算法及实现[J].控制工程,2006(6).

[3]保慧.PLC图形化编程系统的研究与实现[J].现代机械,2006(1).

[4]伊君翰.基于多核的并行编程模型[D].复旦大学,2008.

信号是PLC编程的关键 篇4

为了避免物料在运输途中堆积, 实现正常传输, 完成皮带运输的四台拖动电动机M1、M2、M3和M4启动时要按一定时间间隔顺序启动, M1启动5秒后M2启动, M2启动6秒后M3启动, M3启动10秒后M4启动;停车时也要按一定时间间隔顺序停止, M1停止10秒后M2停止, M2停止10秒后M3停止;M3停止10秒后M4停止。在电动机没有启动前各个电动机可以点动;当任意一台电动机过载时, 则所有电动机停止运转。每台电动机运转都要有指示, 电源送电也要有指示。PLC编程步骤:

首先我们先画出PLC外部硬线接线图如图1所示。

根据外部硬接线图可知, 启动信号是由SB1提供, 但由于SB1是一个不带自锁的按钮, 启动信号产生后, M1电动机是马上启动, 另外三台电动机而延时启动, 在PLC中定时控制是用定时器产生, 而控制定时器T的信号是保持信号, 这样必须要用内部辅助继电器M0对其自锁, 产生一个不断开的信号, 同时这个信号也用来启动M1电动机;M2电动机启动信号则由辅助继电器M0驱动T0定时器产生;M3电动机启动信号则由辅助继电器M0驱动T1定时器产生;M4电动机启动信号则由辅助继电器M0驱动T2定时器产生。这三个定时器定时时间根据控制要求M1启动5秒后M2启动, M2启动6秒后M3启动, M3启动10秒后M4启动可知, T0定时器相对于辅助继电器M0时间为5秒;T1定时器相对于辅助继电器M0时间为5秒加上6秒总共为11秒;T2定时器相对于辅助继电器M0时间为5秒加上6秒再加上10秒总共为21秒。截至现在, 我们把所有顺时启动信号都已经找到, 下面我们来找停止信号。

停止信号是由SB6提供, SB6同样是一个不带自锁的按钮, 停止信号产生后, M1电动机是马上停止, 另外三台电动机而延时停止。和启动过程一样也采用一个辅助继电器M1和三个定时器T3、T4和T5产生四个停止信号。辅助继电器M1信号用来停止M1电动机;M2电动机停止信号则由T3定时器产生;M3电动机停止信号则由T4定时器产生;M4电动机停止信号则由T5定时器产生。这三个定时器定时时间根据控制要求M1停止10秒后M2停止, M2停止10秒后M3停止, M3停止10秒后M4停止。T3定时器相对于内部辅助继电器M1时间为10秒;T4定时器相对于内部辅助继电器M1时间为10秒加上10秒总共为20秒;T5定时器相对于内部辅助继电器M1时间为10秒加上10秒再加上10秒总共为30秒。这样, 我们把所有的顺序启动信号和逆序停止信号都已经找到了, 接下来我们来找点动信号。

根据控制要求在电动机没有启动前各个电动机可以点动, 由图1可知, SB2控制内部辅助继电器M2, 由内部辅助继电器M2信号去控制M1电动机点动;SB3控制内部辅助继电器M3, 由内部辅助继电器M3信号去控制M2电动机点动;SB4控制内部辅助继电器M4, 由内部辅助继电器M4信号去控制M3电动机点动;SB5控制内部辅助继电器M5, 由内部辅助继电器M5信号去控制M4电动机点动。但由控制要求已经说明电动机启动后不能进行点动, 而启动信号是由内部辅助继电器M0产生的, 用一个M0常闭串联在产生点动信号支路中。而电动机具有过载保护直接放在产生启动信号M0和停止信号M1支路中就可以直接控制电动机的停止。

完整的程序如下图所示:

通过这个例子可以说明, PLC编程关键在于找到控制对象的控制信号, 明确这个信号什么时候产生, 什么时候消失;当由多个信号控制同一控制对象时, 只要将多个控制信号并联就可以。因此, 只要找到控制信号基本上程序已经编制完成。

参考文献

[1]陈立定, 吴玉香, 苏开才编.电气控制与可编程控制器[M].广州:华南理工大学, 2001.

[2]陈清彬编著.PLC实用制作快速上手[M].北京:电子工业出版社, 2012.

软PLC编程系统软件的设计 篇5

本文介绍的软PLC编程系统软件采用Windows多任务环境下的多线程技术,以C++Builder为主要开发平台,利用其强大的软件功能,使人机交互界面更为友好。由于C++Builder固有的面向对象机制,可方便地设计梯形图数据结构,并结合相应的算法,完成软PLC编程系统设计。本文设计了界面友好的编辑环境和方便灵活的编辑方式,实现了可视化、规范化的梯形图设计,方便用户使用,提高了PLC编程效率。对提高当前软PLC梯形图编程软件通用化和标准化做出了有益的尝试和探索。

1 总体设计

1.1 软PLC系统的体系结构

软PLC系统包括编程系统和运行系统,如图1所示[1,2]。编程系统是基于Windows环境的编程工具,运行于普通PC机上。它独立于运行系统,主要完成PLC源程序的编辑、编译以及仿真功能。编程系统最终产生一份满足控制要求的目标代码,运行系统在启动时就可以加载该目标代码,对其进行解释执行,并控制对象进行交互,完成输入、输出处理等工作,最终实现控制功能。

1.2 功能分析

经分析,编程系统软件应具有以下功能:(1)编程和仿真功能:编程功能主要包括程序录入、修改、文件存取和语法检查功能;仿真功能包括模拟开关控制、模拟脱机运行过程。(2)提供菜单和工具栏两种操作方式,输入输出采用直观的图形方式,便于用户直观地编辑梯形图程序。(3)顺序控制功能、逻辑控制功能、数据控制功能、定时/计数功能和监控功能。(4)可对PLC用户程序进行正确性检查(包括编程元件的使用、语法和逻辑关系正确性检查)。(5)实现常见PLC的内部编程元件的仿真,实现PLC指令解释器的仿真。(6)与Windows界面一致,提供中英文两种语言界面与随机帮助,支持对程序的注释。

1.3 模块划分

根据功能需求分析,采用模块化的思想进行软件设计,将编辑系统软件划分为主模块、输入模块、支持模块,仿真模块和通信模块。软件的组成及其相互间的关系如图2所示。

主模块完成软件运行参数的初始化,协调其他各模块调用控制,程序打开、显示、保存等。支持模块进行类、对象和结构体的定义。输入模块通过对具体的指令类对象的调用,对数据成员进行赋值、修改等操作,录入、编辑PLC应用程序。仿真模块模拟PLC中的继电器、寄存器及相关I/O变量,有效模拟现场被控对象信号输入,直观地描述各个继电器的相互控制关系,通过时序图实时监控所有(或部分)程序使用的继电器的通断状态。通信模块在编辑系统和运行系统间进行通信,把经过编译和脱机调试后的目标代码文件下载到运行系统中。

2 存储与加载的实现

IEC61131-3标准[3]规定了5种编程语言,其中梯形图(Ladder Diagram)是应用最广泛的编程语言,是PLC编程的最重要编程语言,因此本系统采用梯形图(LD),其他语言待以后进一步加入和完善。梯形图程序的保存采用操作系统自带的记事本,由此需要制定编码规则,并按照这个固定的规则存储数据或打开显示梯形图。

2.1 编码规则制定

PLC程序中需要表示的控件主要有常开触点NO,常闭触点NC,输出触点OP,记时器触点TM,记数器触点CT、MC、MCE、跳转控制触点JP、LAL,上升沿触点DF、下降沿DF/,进栈ANS、ORS、PUSH、RDS、POPS、置位触点SET,复位触点RST,保持触点KEEP,横线及竖线等[3,4]。必须为每个触点设定一个专用的标志符号,以便于保存、打开程序时能够识别这些控件。采用字符串与数字组合表示每一个触点控件的相关信息,制定规则如图3所示。

图3中,Ο为字符串,Δ为数字,每项可有多位,各项之间加空格。触点种类以符号表示,例如NC为常闭触点,TM为计时器触点。横线设为Hshort,none代表此块没有被写入信息,END,CNDE,DF,DFNot及HShort等类其后的数字没有意义。例如,记时器控件可表示为:TM 0 3 30 0 0。把梯形图的每一行分为12个图片位,每个图片位都以此规则表示。为了区分文件是否以此规则保存,规则还设定了SimPLC为此种文件的起始标记。图4所示的梯形图按此规则,可用下面的形式保存成记事本文档。

2.2 软件实现

存储功能的算法用N-S结构化流程图表示,如图5所示。

遍历存储过程程序片段如下[5]:

文件加载时,通过制定的规则进行译码,执行的顺序与存储文件基本相同。

3 多线程技术的应用

Windows多任务环境下的多线程技术是将CPU的时间划分成许多时间片段,并按照一定的优先级将时间片段分配给各个线程,各线程在各自的时间片段内共享CPU,从而实现微观上的轮次执行宏观上并发运行的多任务机制。多线程技术的主要优势在于充分利用了CPU的空闲时间片,用尽可能少的时间对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。

PLC的工作原理是一个“顺序扫描、不断循环”的单线程循环过程[4]。如果软件采用单线程,一旦开始执行PLC程序,CPU将被这个死循环完全占用,软件的其他事件得不到系统响应,无法运行。因此,决定采用多线程机制[5,6]。仿真模块占用2个线程:(1)控制程序在“在线模式”与“离线模式”之间转换;(2)精确地实时监控。加上系统本身的主线程,共有3个线程。在C++Builder中,通过File/New/Other下new页面的“Thread Object”即可轻松地建立多个线程[5]。

实时监控线程的作用是不断地读取程序运行中各个继电器的状态,并将状态的值返回到时序图,以控制时序图的输出。线程对各继电器状态的读取采用链表的形式,依次读各节点的属性。当启动线程时,线程会执行Execute()函数中的程序,GO按钮调用Resume()函数启动线程,STOP按钮调用Suspend()函数暂停线程。运行时,从头开始遍历读取各个继电器的通电状态的powered属性,如果powered=true,则在时序图上做高为20、以淡绿色填充的矩形,表示继电器处于通电状态;如果powered=false,则在梯形图上作高为20的矩形,将矩形设置为与窗体相同的颜色,使视觉上感觉好像没有画矩形图,以达到显示不通电状态的效果。矩形左上角的X坐标用一个xstart变量来取值,xstart的值为powered改变的那一刻的Image1的水平位置;右下角的X坐标始终为Image1的水平位置,不停地变化。为了限制时序图的大小,等到Image1走到一定的位置,即将它复位到起始点,重新开始画图。程序片段如下[5]:

以C++Builder为开发平台,采用面向对象和多线程技术,实现了在PC机上进行PLC程序的编制、调试和逻辑结果的仿真,使PLC程序编制、调试与硬件脱离。软件提供了菜单和工具栏两种操作方式,操作简单,便于用户直观地画梯形图程序,具有较高的应用和实践价值,对其他类似模拟系统的设计也具有参考价值。

参考文献

[1]吴玉香,周东霞,林锦赟.嵌入式软PLC系统的研究和实现[J].计算机工程,2009,35(10):235-237.

[2]贺无名,余强国.基于嵌入式软PLC的矿井提升机控制系统设计[J].煤矿机械,2011,32(6):244-246.

[3]彭瑜,何衍庆.IEC61131-3编程语言及应用基础[M].北京:机械工业出版社,2009.

[4]吴建强.可编程控制器原理及其应用(第2版)[M].北京:高等教育出版社,2004.

[5]陆卫忠,刘文亮.C++Builder6程序设计教程(第2版)[M].北京:科学出版社,2009.

[6]章德宾,胡斌,张金隆.多线程技术与分布式并发离散事件仿真[J].计算机仿真,2007,24(1):97-100.

PLC自锁、互锁控制编程技巧 篇6

1 抢答器控制要求

抢答器[3]是一种应用非常广泛的电子电气设备, 在各种抢答场合、竞赛中, 它能迅速客观分辨出最先获得发言权的选手以及实现设定发言时间、记录分数等功能。本例中抢答器设备最多允许8人同时参加抢答比赛, 在此为了简化程序, 以3位选手抢答为对象。比赛时, 主持人首先应将数码显示清零, 抢答过程中最先按下按钮的选手有效, 其它无效, 有效的选手号码被显示在数码屏上。

2 抢答器硬件电路设计

选取西门子S7-200PLC作为抢答器的核心控制器, 3名选手各用一个抢答按钮, 按钮的编号与选手的编号相对应, 分别是S1、S2、S3, 给节目主持人设置一个控制按钮, 用来控制系统的清零 (编号显示数码管显示0) 和抢答的开始, PLC输出接口电路外接一共阴极七段数码显示管显示抢答结果。

3 抢答器的程序设计

抢答器具有数据锁存和显示的功能, 其程序设计需解决如下问题:

(1) 抢答优先的问题。抢答开始后, 若有选手按动抢答按钮, 编号立即锁存, 并能封锁输入电路, 禁止其他选手抢答。

(2) 选手号码识别和显示的问题。每次抢答LED数码管上都能正确地显示出选手的编号, 并一直保持到主持人将系统清零为止。

运用自锁和互锁控制实现抢答器的数据锁存功能, 运用段码指令对选手抢答结果进行显示, 其具体梯形图如1所示。

抢答器的控制程序设计具有如下特点:

(1) 抢答器抢答显示具有自锁功能, 即当某一选手抢答成功后, 即使释放其抢答按钮, LED数码管显示保持, 直至主持人操作复位按钮I0.0, 才使LED显示0。网络2为1号选手抢答程序, 其中M0.1动合触点与1号抢答按钮I0.1信号并联, 利用I0.1按钮短时接通瞬间, 输出线圈M0.1得电, 促使M0.1触点动合, 为输出线圈M0.1提供了一条通电回路, 对本网络输出具有自锁作用。

(2) 抢答器3个选手之间抢答具有互锁功能, 即只要有一个选手抢答成功, 另外两个选手即使再按各自抢答按钮, LED数码显示结果也不会变化。以网络2为例, 其中的I0.2及I0.3采用动断触点串联在网络中, 作为限制和约束输出线圈M0.1得电的条件, 即只有在2号和3号选手按钮没有有效采集进入PLC中, 1号选手提前操作被有效采集进入PLC中, 才有可能显示抢答结果1。

(3) 抢答器3个选手抢答程序具有对称特点。网络2~网络4的程序的编写思路是类似的, 同样并联了自锁触点和串联了按钮互锁触点, 并进行数码结果显示。

利用可编程序控制器试验挂箱按照图1-1接好硬件线路, 然后在线运行程序, 通过硬件线路查看调试结果, 经过操作证明抢答器设计成功, 达到设计要求。

4 总结

PLC自锁控制应用在起动保持停止电路, 采用网络输出线圈的操作数bit所对应的动合触点与本网络的某些逻辑块并联, 帮助本网络输出线圈得电。PLC互锁控制应用一组不允许同时动作的对象控制场合, 采用按钮互锁或线圈互锁触点, 以动断触点的形式串接在网络中, 限制本网络输出线圈得电。

摘要:自锁、互锁控制是梯形图控制程序中最基本的环节。常用于对输入开关和输出映像寄存器的应用编程控制, 本文结合抢答器的设计实例介绍PLC自锁、互锁的编程技巧。

关键词:PLC,自锁,互锁,抢答器

参考文献

[1]宋伯生.PLC编程实用指南[M].北京:机械工业出版社, 2006:340-349.

PLC经验设计法编程技巧探讨 篇7

可编程控制器 (简称PLC) 是以应用程序来改变控制过程的自动控制装置, 已成为工业自动控制领域的三大支柱之一, 然而PLC应用与编程人才短缺已经成为制约我国自动控制领域发展的瓶颈。目前, 在全国各类综合性大学或工科院校中均相应地设立了PLC课程。PLC课程的教学目的是使学生掌握PLC控制系统的设计方法, 为从事PLC控制系统的设计、调试和改造工作打下基础。

PLC的编程教学过程中除了向学生介绍各种基本指令及功能指令之外, 更重要的是将编程技巧传授给学生。本人通过多年的教学摸索, 发现PLC的程序编程的方法和思路的清晰都是十分重要的。在完成相同的控制任务时, 如果使用的编程方法适当, 可以达到事半功倍的作用。在课堂教学及实验教学过程中, PLC程序设计常用的方法主要有经验设计法、移植设计法、顺序控制设计法等等, 在此对经验设计法进行介绍。

2 典型案例

选取电动机Y-△降压启动控制系统为例。

(1) 系统的I/O分配

选取SB1 (I0.0) 、SB2 (I0.1) 外部按钮作为系统的输入信号, 系统硬件接线图选取了三个交流接触器KM1 (Q0.1) 、KM2 (Q0.2) 、KM3 (Q0.3) 。启动时, KM1 (+) 、KM3 (+) 此时电动机的定子绕组呈星形;8S后KM1 (+) 、KM3 (-) 、KM2 (+) , 此时电动机的定子绕组呈三角形连接。据理论分析可知采取Y-△降压启动时, 主要是降低了施加在定子相电压, 从而降低了起动电流, 即

系统的硬件电路分为主回路 (主要完成电动机的两种接线方式) 和控制回路 (主要为PLC控制回路, 将系统输入输出设备挂接在PLC的输入和输出接线端子, 并考虑通电) 。当完成硬件电路的接线后, 下一步就要开始编写控制程序。

(2) 系统的程序设计

首先分析其控制要求, 采取经验设计方法进行程序设计。首先从输出信号入手, 本系统有三个输出KM1 (Q0.1) 、KM2 (Q0.2) 、KM3 (Q0.3) , 依次用试探的方法, 找出输出与输入的逻辑关系, 进行初步的设计。

(KM1) Q0.1只要系统起动了就一直接通, 所以。如图网络3所示。

(KM3) Q0.3起动后接通直到8S时间到则自动切断, 所以, 除了与起停标志位有关外还与时间定时器位信号T37有关, 时间到则断电, 因此采用动断触点。并且Q0.3与Q0.2信号不能同时接通, 因此要互相串接一动断触点, 起到互锁的作用。如图网络4所示。

(KM2) Q0.2是系统运行8S后才得电, 使定子绕组处于三角形连接工作。但考虑到电动机在运行方式切换时, 会有一定的冲击, 所以采用一定时器T38 (0.5S) 进行缓冲。所以

, 如图网络6所示。

将基本程序编写好后, 再进行检查, 检查的方法是:假设系统的输入设备操作, 依次查看程序的执行结果, 从而不断地调整程序的编写。本例程序中还借助中间继电器M0.0作为起停标志位, 串在输出信号Q0.1~Q0.3的网络中。

3 PLC经验设计法的一般步骤

通过本例可以看出:PLC经验设计法, 通常在一些典型的控制电路程序的基础上, 根据系统的具体控制要求, 进行系统输出信号的编程, 编写过程需要多次反复调试和修改梯形图, 有时需要增加一些辅助触点和中间编程环节, 才能达到控制要求。

采用经验设计法设计PLC程序时大致可以按下面几步来进行:

(1) 分析控制要求、选择控制原则:设计主令元件和检测元件, 确定输入输出设备。

(2) 从输出信号直接入手, 分析其驱动条件, 将表示条件的触点信号串联或并联在网络中, 这些工作条件通常可用PLC内部寄存器按照一定的逻辑关系组合来实现。对于复杂的控制系统, 要确定完成控制要求的关键点, 将关键点用梯形图表达出来, 关键点通常用中间继电器来表示, 在完成关键点梯形图的基础上, 针对系统最终的输出进行完整的梯形图的编写。

(3) 编写完程序后, 再假定输入设备启动, 检查程序执行的结果, 通过比较结果来修正和完善程序。

4 总结

PLC经验设计法, 需要分析输出信号与输入信号的逻辑关系, 具有一定的试探性, 有时需要多次反复地进行调试和修改梯形图, 最后才编写成功。这种编程方法适合于较简单的控制系统和复杂控制系统的部分程序, PLC的学习者必须要掌握的这种编程技巧。

摘要:采用PLC经验设计法设计程序的质量与设计者的经验有很大的关系, 但是对于初学者或从事编程工作的技术人员确实是必备的一项编程技能。本人在长期的教学实践中经常需要用到经验设计法, 并对编程方法的一般规律进行探索, 希望对PLC编程技术的学习者有一定帮助。

关键词:PLC,经验设计法,电动机Y-△降压起动,梯形图

参考文献

[1]廖常初.《PLC的编程方法与工程应用》.重庆:重庆大学出版社2009

上一篇:作文教学中的情感教育下一篇:通信安全防护