PLC编程实例|4个基本控制电路设计方法,教你吃透控制原理!
实例1单输出自锁控制电路
启动信号 I0.0 和停止信号 I0.1 持续为 ON 的时间般都短。该电路最主要的特点是具有“记忆”功能。
实例2多输出自锁控制电路(置位、复位)
多输出自锁控制即多个负载自锁输出,有多种编程方法,可用置位、复位指令
实例3单向顺序启停控制电路
1. 单向顺序启动控制电路是按照生产工艺预先规定的顺序,在各个输入信号的作用下,生产过程中的各个执行机构自动有序动作。只有 Q0.0 启动后,Q0.1 方可启动,Q0.2 必须在 Q0.1 启动完成后才可以启动。
2. 单向顺序停止控制电路就是要求按一定顺序停止已经执行的各机构。只有 Q0.2被停止后才可以停止 Q0.1,若想停止 Q0.0,则必须先停止 Q0.1。I0.4 为急停按钮。
实例4延时启停控制电路
1. 延时启动控制 设计延时启动程序,要利用中间继电器(内部存储器 M)的自锁状态使定时器能连续计时。定时时间到,其常开触点动作,使 Q0.0 动作。
2. 延时停止控制 定时时间到,延时停止。I0.0 为启动按钮、I0.1 为停止按钮。
3. 延时启停控制电路该电路要求有输入信号后,停一段时间输出信号才为 ON;而输入信号 0FF 后,输出信号延时一段时间才 OFF。T37 延时 3 s 作为 Q0.0 的启动条件,T38 延时 5 s 作为 Q0.0 的关断条件。
含有从入门到高级所有PLC学习资料 ,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
私信【电气】即可免费领取
经验设计法及注意事项
应用程序设计过程中,应正确选择能反映生产过程的变化参数作为控制参量进行控制;应正确处理各执行电器、各编程元件之间的互相制约、互相配合的关系,即互锁关系。应用程序的设计方法有多种,常用的设计方法有经验设计法、顺序功能图法等。
1 经验设计法
经验设计法要求设计者具有较丰富的实践经验,掌握较多的典型应用程序的基本环节。根据被控对象对控制系统的要求,凭经验选择基本环节,并把它们有机地组合起来。其设计过程是逐步完善的,一般不易获得最佳方案。程序初步设计后,还需反复调试、修改和完善,直至满足被控对象的控制要求。
经验设计法的设计不规范,没有一个普遍的规律可循,具有一定的试探性和随意性。
编写梯形图程序时应遵循的规则:
(1)“输入继电器”的状态由外部输入设备的开关信号驱动,程序不能随意改变它。
(2)梯形图中同一编号的“继电器线圈”只能出现一次,通常不能出现,但是它的触点可以无限次地重复使用。
编写梯形图程序时应遵循的规则:
(3)几个串联支路相并联,应将触点多的支路安排在上面;几个并联回路的串联,应将并联支路数多的安排在左面。按此规则编制的梯形图可减少用户程序步数,缩短程序扫描时间。
(4) 程序的编写按照从左至右、自上至下的顺序排列。一个梯级开始于左母线,终止于右母线,线圈与右母线直接相连。
①桥式电路必须修改后才能画出梯形图。
②非桥式复杂电路必须修改后才能画出梯形图
2 注意事项
(1)先编制 I/O 分配表,后设计梯形图。先对输入、输出信号及内部线圈进行编号分配,再确定 PLC 各输入 / 输出接线端子的实际接线图。
(2)合理排列梯形图,使输入 / 输出响应滞后现象不影响实际响应速度。通常可根据工艺流程图按动作先后顺序排列各输出线圈,同时兼顾内部线圈、时间继电器等线圈的排列顺序,使输入/输出延迟响应不影响实际输出对响应速度的要求。
(3)高速计数指令、高速脉冲输出指令应尽量放在整个用户程序的前部。由于高速计数器和高速脉冲串发生器与 CPU 之间的信息交换是在 I/O 扫描时进行的,所以在执行其他命令时就可能影响高速计数器、高速脉冲串发生器与 CPU 之间的信息交换,甚至有可能丢失脉冲。
(4)在 PLC 输入端子接线图中,对于同一个发信元件,通常只需选其中某一触点(例如常开触点或常闭触点)接入输入端子,即对一个发信元件,它只能占一个输入地址编号。
( 5)合理接入输入信号的触点(常开或常闭触点),提高设备的可靠性、安全性。PLC 实际 I/O 接线图中,某输入信号(如按钮)究竟是接入电器的常开触点还是常闭触点,应从设备的可靠性、安全性角度考虑。当输入端接线故障断线时,设备状态应向着安全的状态发展。因此, 停止按钮应以常闭触点接入 PLC 输入接线端子,而启动按钮应以常开触点接入 PLC 输入接线端子(为便于理解,本书前面章节各图均按常开触点接入处理)。
(6)从安全考虑,重大安全部分不接入 PLC 的输入端,而做硬件处理。例如,紧急停车按钮、互锁触点、紧急限位开关、热继电器控制触点等,接至 PLC 的输出端子上,直接对输出负载(KM1、KM2)进行控制,以保证 PLC 故障时不损坏设备,不造成重大安全事故。
(7)应保证有效输入信号的电平保持时间。要保证输入信号有效,输入信号的电平保持时间必须大于 PLC 一个扫描周期。除非对开关量输入信号设置允许脉冲捕捉功能,这样就允许 PLC 捕捉到持续时间很短的脉冲。
(8)PLC 指令的执行条件有信号电平有效和跳变有效的区别,编程时应加以注意。
(9)由电气控制图转换为梯形图时应注意:对旧设备改造时可借鉴原继电器控制电路图转换为梯形图。继电器控制电路图中的电器触点大多为先断后合型,而 PLC 梯形图中的“软继电器”的常开触点和常闭触点的状态的转换是同时发生的。设计梯形图时可使用延迟电路(如利用内部时间继电器延迟或利用 PLC 循环扫描工作方式而产生的输入 / 输出延迟响应)来模拟先断后合型电器的功能。
顺序功能图与设计法
功能图及其组成
功能表图(Function Chart Diagram)是用图形符号和文字叙述相结合的方法,全面描述控制系统,含电气、液压、气动和机械控制系统或系统某些部分的控制过程、功能和特性的一种通用语言。在功能表图中,把一个过程循环分解成若干个清晰的连续阶段,称为“步”(Step),步与步之间由“转换”分隔。当两步之间的转换条件满足,并实现转换,上一步的活动结束,而下一步的活动开始。一个过程循环分的步越多,对过程的描述就越精确。
1. 步
在控制系统的一个工作周期中,各依次顺序相连的工作阶段,称为步或工步,用矩形框和文字(或数字)表示。步有两种状态:“活动步、“非活动步” 、“初始步”:一系列活动步决定控制过程的状态。对应控制过程开始阶段的步,每一个功能表图至少有一个初始步,初始步用双线矩形框表示。
2. 动作
在功能表图中,命令(Command)或称动作(Action)用矩形框文字和字母符号表示,与对应步的符号相连。一个步被激活,能导致一个或几个动作或命令,亦即对应活动步的动作被执行。若某步为非活动步,对应的动作返回到该步活动之前的状态。对应活动步的所有动作被执行,活动步的动作可以是动作的开始、继续或结束。若有几个动作与同一步相连,这些动作符号可水平布置,也可垂直布置。
3. 有向连线
有向连线将各步按进展的先后顺序连接起来,它将步连接到转换,并将转换连接到步。有向连线指定了从初始步开始向活动步进展的方向与路线。有向连线可垂直或水平布置。为了使图面更加清晰,个别情况下也叫用斜线。在功能表图中,进展的走向总是从上至下、从左至右,因此有向连线的箭头可以省略。如果不遵守上述进展规则,必须加注箭头。若垂直有向连线与水平有向连线之间没有内在联系,允许它们交叉,但当有向连线与同一进展相关时,则不允许交叉。在绘制功能表图时,因图较复杂或用几张图表示有向连线必须中断,应注明下一步编号及其所在的页数。
4. 转换
在功能表图中,生成活动步的进展是按有向连线指定的路线进行的,进展由一个或几个转换的实现来完成。转换的符号是一根短画线,与有向连线相交,转换将相邻的两个步隔开。如果通过有向连线连接到转换符号的所有前级步都是活动步,该转换为“使能转换”,否则该转换为“非使能转换”。只有当转换为使能转换且转换条件满足时,该转换才被实现。某转换实现,所有与有向连线和相应转换符号相连的后续步被激活,而所有与有向连线和相应转换符号相连的前级步均为非活动步。
5. 转换条件
转换条件标注在转换符号近旁,转换条件可以用 3 种方式表示。
(1)文字语句:b、c 触点中任何一个闭合,触点 a 同时闭合。
(2)布尔表达式:a(b+c)。(3)图形符号:
所谓转换条件是指与该转换相关的逻辑变量,可以是真(1),也可以是假(0)。如果逻辑变量为真,转换条件为“l”,转换条件满足;如果逻辑变量为假,转换条件为“0”,转换条件不满足。只有当某使能步转换条件满足时,转换才
选择序列的开始称为 分支,转换符号只能标在水平线之下,每个分支上必须具有一个或一个以上的转换条件,且具有优先级。
选择序列的结束称为 合并,几个选择序列合并到一个公共序列时,转换符号只能标在水平线之上。
并行序列用双水平线表示,转换符号在双水平线之上,为公共转换条件。
并行序列的结束称为合并。转换符号在水平线以下,当双水平线之上的所有前级都处于活动状态时,且转换条件成立,则下一步被激活。同时所有前级步都变为不活动步。
绘制原则及注意事项
1. 控制系统功能图的绘制必须满足以下规则。
(1)状态与状态不能相连,必须用转移分开。
(2)转移与转移不能相连,必须用状态分开。
(3)状态与转移、转移与状态之间的连接采用有向线段,自上向下画时,可以省略箭头。当有向线段从下向上画时,必须画上箭头,以表示方向。
(4)一个功能图至少要有一个初始状态。
2. 注意事项
(1)顺控指令仅对元件 S 有效,顺控继电器 S 也具有一般继电器的功能,所以对它能够使用其他指令。
(2)SCR 段程序能否执行取决于该状态器(s)是否被置位,SCRE 与下一个 LSCR 之间的指令逻辑不影响下一个 SCR 段程序的执行。
(3)不能把同一个 S 位用于不同程序中,例如:如果在主程序中用了 S0.1,则在子程序中就不能再使用它了。
(4)在 SCR 段中不能使用 JMP 和 LBL 指令,就是说不允许跳入、跳出或在内部跳转,但可以在 SCR 段附近使用跳转和标号指令。
(5)在 SCR 段中不能使用 FOR、NEXT 和 END 指令。
(6)在状态发生转移后,所有的 SCR 段的元器件一般也要复位。如果希望继续输出,可使用置位 / 复位指令。
(7)在使用功能图时,状态器的编号可以不按顺序编排。
用 SCR 指令的顺序控制梯形图设计方法
用 SCR 指令的顺序控制梯形图设计方法
单序列顺序功能图的编程
这是最简单的功能图,其动作是一个接一个地完成的。每个状态仅连接一个转移,每个转移也仅连接一个状态。如图示为单流程的功能图、梯形图和语句表。
选择序列编程
在生产实际中,对具有多流程的工作,要进行流程选择或者分支选择。即一个控制流可能转入多个可能的控制流中的某一个,但不允许多路分支同时执行。到底进入哪一个分支,取决于控制流前面的转移条件哪一个为真。
并行序列编程
在许多实例中,一个顺序控制状态流必须分成两个或多个不同分支的控制状态流,这就是并行分支。当一个控制状态流分成多个分支时,所有的分支控制状态流必须同时激活。当多个控制流产生的结果相同时,可以把这些控制流合并成一个控制流,即并行分支的连接。在合并控制流时,所有的分支控制流必须都是完成了的。这样,在转移条件满足时才能转移到下一个状态。并行顺序一般用双水平线表示,同时结束若干个顺序也用双水平线表示。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
TMS320C6678 ZYNQ 双核ARM通信案例开发手册之matrix_multiply案例
目 录
2 matrix_multiply案例
2.1 案例功能
2.2 操作说明
2.3 关键代码
2.3.1 linux_demo代码说明
2.3.2 freertos_demo代码说明
2.3.3 baremetal_demo代码说明
3 内存分配说明
4 案例编译说明
4.1 CPU0应用程序编译
4.2 CPU1裸机与FreeRTOS程序编译
前 言
本文主要介绍ZYNQ基于OpenAMP框架的双核ARM通信案例的使用说明,CPU0(Master)运行Linux系统,CPU1(Remote)运行裸机或FreeRTOS程序。CPU0使用remoteproc加载CPU1程序,并对CPU1进行配置。
图 1
matrix_multiply案例开发手册是基于创龙科技 TI TMS320C6678 + Xilinx Zynq-7045的高速多路高清视频采集处理平台,采用DSP+FPGA+ARM架构。
SOM-TL6678ZH核心板正面图
SOM-TL6678ZH核心板背面图
TL6678ZH-EVM评估板资源图1
TL6678ZH-EVM评估板资源图2
表 1
1 matrix_multiply案例
1 案例功能
案例功能:CPU0随机生成两个矩阵并使用RPMsg向CPU1发送数据,CPU1接收到数据后进行矩阵乘法运算,再使用RPMsg向CPU0回传运算结果,然后CPU0通过串口终端输出运算结果。
2 操作说明
将CPU1裸机或FreeRTOS可执行文件复制到评估板文件系统“/lib/firmware/”目录下,并执行如下命令加载CPU1程序。
Target# echo matrix_multiply.elf > /sys/class/remoteproc/remoteproc0/firmware
Target# echo start > /sys/class/remoteproc/remoteproc0/state
图 29
执行如下命令加载RPMsg驱动,并在“/dev/”目录下生成RPMsg设备节点。
Target# modprobe rpmsg_user_dev_driver
图 30
将CPU0应用程序可执行文件复制到评估板文件系统,并执行如下命令通过RPMsg与CPU1进行通信。
Target# ./mat_mul_demo
图 31
输入1,并按回车键进行测试。
图 32
输入2,并按回车键退出测试。
图 33
执行如下命令,停止CPU1程序。
Target# echo stop > /sys/class/remoteproc/remoteproc0/state
图 34
3 关键代码
由于本案例大部分代码与echo_test案例基本一致,因此代码说明可参考echo_test案例代关键代码章节,下面对部分代码进行补充说明。
2.3.1 linux_demo代码说明
(1) 打开RPMsg驱动设备节点,创建ui_thread_entry、compute_thread_entry线程。
图 35
2.3.2 freertos_demo代码说明
(1) 在app()中进行矩阵乘法运算,并向CPU0回传运算结果。
图 36
3.3 baremetal_demo代码说明
(1) 在数据读取函数rpmsg_read_cb()中,对从CPU0接收到的数据进行判断,并进行不同处理(关机或回传数据),实现通信和生命周期管理。
图 37
3.4内存分配说明
PS端DDR容量为1GByte,内存地址分配如下:
表 2
如需修改CPU1程序(OpenAMP-remote app)内存地址空间范围,可通过更改设备树文件、资源表rsc_table.c及链接文件lscript.ld对内存地址空间进行重新分配。三者需同步修改并保持一致,以确保固件程序链接地址与设备树配置的elf_ddr_0对应。所使用的资源(内存和virtio设备资源)不能超出设备树文件配置的内存范围。TL6678ZH-EVM评估板使用的设备树文件为tl6678zh-evm.dts,该设备树文件会调用tlz7x-easyevm.dts,因此实际需修改的文件为tlz7x-easyevm.dts。
图 38 设备树文件tlz7x-easyevm.dts配置
图 39 设备树文件tlz7x-easyevm.dts配置
图 40 CPU1程序资源表rsc_table.c配置
图 41 CPU1程序链接文件lscript.ld配置
案例编译说明4.1 CPU0应用程序编译
请参考“ZYNQ Linux开发环境搭建”文档配置好交叉编译工具链,并将CPU0应用程序源码目录拷贝至Ubuntu,然后在源码目录下执行如下命令进行编译。
Host# make CC=arm-linux-gnueabihf-gcc
图 42
由于matrix_multiply案例使用线程相关函数,编译时需增加-pthread编译选项。
Host# make CC=arm-linux-gnueabihf-gcc CFLAGS=-pthread
图 43
4 .2 CPU1裸机与FreeRTOS程序编译
请参考“ZYNQ PS端裸机与FreeRTOS案例开发手册”进行工程编译。由于案例路径发生改变后会无法识别到BSP源文件,编译前请参考如下操作更新BSP源文件。
双击案例xxx_bsp目录下的system.mss,在弹出的界面点击“Re-generate BSP Source”。
图 44
点击Yes重新更新BSP源文件后,即可正常编译。
图 45
图 46
补充说明
案例工程默认已增加“-DUSE_AMP=1”编译选项。增加此编译选项后,仅允许CPU0对GIC、L2等共享资源初始化。
如新建工程,可参考如下方法进行设置。
(1) 右击BSP包,点击Board Support Package Settings。
图 47
(2) 点击“ps7_cortexa9_1 -> extra_compiler_flags”,增加“-DUSE_AMP=1”编译选项。
图 48
如需获取案例源码、TL6678ZH-EVM评估板或其他产品详细资料,欢迎留言或者私聊!
相关问答
简述平面交叉口的类型和其适用特点?
平面交叉口按交通管制方式的不同,可分为全无控制交叉口、主路优先控制交叉口、信号(灯)控制交叉口、环形交叉口等几种类型。平面交叉口【intersection;road...
反激线路做多路输出,如何做好输出电压交叉调整率?-盖德问答...
电压相近的输出,如:3.3V、5V,按我的解释其漏感应该差别很小,这时就要把这两个绕组绕在同一层里面,甚至有时候5V要借用3.3的绕组,也就是所谓的堆叠绕...
高速互通命名规则?
高速公路互通式立交的比较方案,是初测外业阶段的工作成果,完整的互通方案命名应体现互通功能及特征,方案拟定应紧抓立交布设主要制约因素。互通式立交比较方...
tdm是什么多路复用技能?
tdm是时分多路复用(TDM)是按传输信号的时间进行分割的,它使不同的信号在不同的时间内传送,将整个传输时间分为许多时间间隔(Slottime,TS,又称为时隙),...tdm...
什么是道路平交?
即道路与道路在同一平面相交,道路相交地点称为平面交叉路口。道路借助交叉路口相互连接形成道路系统,以解决各个方向的联系。相交道路的各种车辆和行人都要在...
有六亩多粮田,想设计一个公园,如何设计?
首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。园路是公园中不可缺少的构成要素,是骨架、网络。园路的规划...
请问建筑工程标准施工流程是什么?-一起装修网
[回答]基本是这样的,1、决定起重机械位置起重机械的位置直接影响仓库、堆场、砂浆和砼搅拌站的布置.应首先决定起重机械位置.井架、龙门架等固定式垂直运...
怎样淘汰供应商?
其实我们也都知道,如果说供应商不合格的话,很有可能会给企业带来比较大的损失。那我们就要淘汰掉这些供应商。但具体应该怎么做呢?首先我们要明白供应商淘汰的...
复用传输方式的基本原理?
FDM、TDM、WDM、CDMA的基本原理频分多路复用的基本原理是在一条通信线路上设置多个信道,每路信道的信号以不同的载波频率进行调制,各路信道的载波频率互不重...
老公注射流感疫苗怀孕
[回答]你好!因为你们在排卵期同房,你的怀孕几率比较大的。,你们在排卵期同房怀孕的几率比较大,不要担心,打流感疫苗不会对孩子有影响的,请放心!祝你们...