直播课堂
HOME
直播课堂
正文内容
plc编程重复 「案例」如何编写3台电机轮换的PLC程序?
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

「案例」如何编写3台电机轮换的PLC程序?

导读:

有很多读者问我怎么让一个电机工作8小时后停止?三台或者多台电机轮换的一个程序怎么编写。这里小编就以“3台电机轮换”的一个案例来讲解,本案使用西门子200smartSR30型号的PLC。

一、控制要求

某工厂需要24小时工作,有3台电机需要轮流工作,当一台电机启动8小时以后,更换下一台电机启动,以此轮换。如果运行的电机出现故障以后,切换下一台电机运行并输出对应的报警指示灯。

二、I\O表

注:停止、过载、缺相、急停的输入信号接的是常闭。

三、控制程序

1.建立子程序

(1)变量表

建立变量表(图1),完成的子程序如图2所示。

(2)形参子程序

程序段1:每次调用程序的时候先把L11.3的状态清除,以免重复调用的时候出现干扰。

程序段2:启动的时候需要时间设定的小时或分钟大于0才可以启动,如果程序已经在运行了,则无法再触发启动.

程序段3:典型的起保停电路,当停止、报警、定时完成,触发会断开电路。

程序段4:当有过载L0.2或者缺相L0.3时会触发报警输出L11.2,复位的时候会暂时断开输出,如果故障没有解除,即使复位也没办法把报警消除。

程序段5:当故障复位输入的时候会复位报警。

程序段6:当第一次启动的时候会把运行时间清零,如果不清楚为什么,请看程序段2。

程序段7:当运行的时候,外部定时信号输入时,运行时间S会加一。

程序段8:当运行时间S=60时,运行时间M加一,然后把运行时间S清零。

程序段9:当运行时间M=60时,运行时间H加一,然后把运行时间M清零。

程序段10:运行的时候,运行的时间和设定的时间相等时,会输出定时完成信号,并断开程序段3的运行。

2.控制程序

程序段1:在自动的模式下,当电机3定时完成或报警的时候才会切换到一号电机启动,如果说电机启动2正在运行,第3台电机故障了也不会切换到第一台电机启动。

程序段2:启动I0.0或一号电机启动都可以对电机进行启动,对运行位输出。停止、急停、过载、缺相,由于外部用的是常闭开关,没有触发的情况下,对应的通道会为1,所以这里使用了常闭触点。

当停止或则急停触发时会使电机停止,当过载或缺相触发时,使电机停止,并输出报警。VW0、VW2是对电机运行的时间设定,VW4、VW6、VW8是电机的运行时间。

程序段3:原理和程序段1一致,只是对应的地址不一样,请参考程序段1。

程序段4:原理和程序段2一致,只是对应的地址不一样,请参考程序段2。

程序段5:原理和程序段1一致,只是对应的地址不一样,请参考程序段1。

程序段6:原理和程序段2一致,只是对应的地址不一样,请参考程序段2。

程序段7:当电机1或者电机2、电机3报警的时候会输出报警指示灯。

程序段8:当电机1或者电机2、电机3运行的时候会输出运行指示灯。

程序段9:如果报警指示灯和报警指示灯没亮的时候输出停止指示灯。

3.数据块

对每台时间进行初始化设定,如果需要可修改的时间,可以在触摸上建立组态程序,关联对应的变量。

总结:

以上就是整个项目的PLC程序,如果需要其他功能可以对程序修改,本案例是小编针对控制要求编写的程序,在手动情况下可单独对一台电机进行控制,在自动模式下为了确保电机正常轮换,请不要启动多台电机,如果说有一台电机出现故障,轮换的时候会跳过有故障的电机。

注:以上程序只供学习参考,如果说要用于实际生产中,需要根据项目和现场控制进行修改。

(来源:技成培训网原创,作者:邹志锐,转载请注明出处!)

多种PLC之间互相交换数据的方法,建议收藏

自动化工程师朋友们都知道,工控现场有许多 PLC 之间需要通讯和数据交换,实现项目之间的数据对接和共享。

但对于不同品牌的 PLC 来说,由于接口、协议不同,程序不开放等诸多因素,往往令人头疼,也很无解,给项目的顺利实施增加了很多困扰。

北辰 S 系列,是实现 PLC 数据交换的神器。

之所以称它为神器,是因为 S 系列可以把 PLC 的串口和网口都统一成通用的 ModbusTCP 以太网协议,PLC 之间以 ModbusTCP 服务器(从站)和客户机(主站)的形式进行通讯,解决了 PLC 协议转换和数据交换的难题。

北辰 S 系列具有 ModbusTCP 服务器功能,Modbus 数据区可自动或编辑映射至 PLC 寄存器,ModbusTCP 的客户机如组态软件、OPC、DCS 系统、PLC 都可以便捷访问。

S 系列还具有 ModbusTCP客户机功能,西门子、三菱、欧姆龙、松下、台达等 PLC 配上北辰 S 系列模块,即可轻松实现 ModbusTCP主从站通讯和数据交换。

所以,北辰模块既可用于编程监控、数据采集和设备联网,还可用于协议转换和数据交换,既可用于有线网络环境,也可用于无线网络环境的协议转换和数据交换。

以适用于西门子 S7300/400 的 BCNet-S7300-S 为例,ModbusTCP 和 ModbusRTU 数据交换应用如下:

除此之外,S 系列还可应用于三菱、欧姆龙、松下、台达、施耐德、信捷、MODBUS RTU等PLC和设备之间的数据交换,在这里不一一列举。

示例

以 FX3U 与 FX5U 交换数据为例,数据交换采用 ModbusTCP 协议实现,其它支持 ModbusTCP从站协议的 PLC(如施耐德 PLC),均可实现该数据交换,步骤类似不再重复介绍。

对于支持ModbusTCP 从站协议的仪表,FX3U 可直接通过 BCNet-FX-S 进行仪表数据采集。

BCNet-FX-S 的 MD8(X1)连接 FX3U 的圆形编程口,FX5U 自带以太网口与 BCNet-FX-S 的以太网口连接,BCNet-FX-S 通过 BCDevice 工具配置交换命令,实现实时高效的 FX3U 和 FX5U 数据交换。

该功能基于 BCNet-FX-S 的 ModbusTCP 客户机功能实现,通过 BCDevice(软件版本 V1027 及以上)进行主站命令配置,无需 PLC 编程,提高应用开发速度和便捷性。

数据交换也可采用 BCNet-FX-S 的 WiFi 接口实现,可实现两个 PLC 直接的无线数据交换;具体在建立客户机时,本地网卡可选择 WiFi 接口。

一、配置 FX5U

STEP 1

1. 打开 GX Work3,新建项目,以太网配置(内置以太网口)中,配置“Modbus/TCP 连接设备”。

2. 编辑 PLC 软元件分配,按下表配置所示,D0 映射的Modbus地址为 40001(HoldingRegister的 0 地址)。

二、配置 BCNet 模块数据交换命令

STEP 2

1. 打开 BCDevice,搜索到 BCNet-FX-S 后,选择【修改设备参数】

2. 新建客户机

【1】点击数据交换,右键创建新的客户机 0;

【2】ModbusTCP协议用于连接远端的从站设备,此例中为 FX5U 的网口,该网口通过配置,已经支持 ModbusTCP 服务器功能,且 PLC 的数据和 Modbus 地址映射关系也已配置;

【3】本地网卡选择,选择 LAN 时,基于以太网口进行数据交换;选择 WiFiStation 或者 WiFiAP时,采用 WiFi 无线方式进行数据交换,该方式应当确保设备之间的 WiFi 连接已经建立;

【4】远程服务器的 IP 地址为 FX5U 的 IP 地址,这里设置为 192.168.1.130;远程服务器的通讯端口号,默认为 502;连接超时时间默认为 10s;

【5】点击确认,创建客户机。

3. 在客户机中配置数据交换命令

【1】点击新建命令(FX3U 的 D0 读取 FX5U 的 D0);

【2】选择[远程→本地],传输 1 个字;传输超时设置层 2s;

【3】本地站点(FX3U)设置数据区域选择 D 寄存器,起始地址为 0,即选择软元件 D0;

【4】 远程站点(FX5U)的 D0 由上一章映射表可知被映射成 HoldingRegister 的 0 地址;故数据区域选择 HoldingRegsiter,偏移地址填 0,站点地址是 ModbusTCP 协议中的单元号,这边由于 FX5U 不是网关,故可忽略;

【5】点击“检查”按钮可进行规则检查,点击“确认”按钮即可生成命令;

4. 客户机监视

点击客户机监视按钮,【错误信息】为无错误,且【正确】有数据跳动,说明通信成功。

三、验证数据交换

STEP 3

1. 打开 GXWork3 变量监视表,对 FX5U 的 D0 进行数据修改为 BC12H;

2. 打开 GXWork2 变量监视表,对 FX3U 的 D0 进行数据监视,值为 BC12H;

3. 上述监视说明已经将 FX5U 的 D0 数据读取到 FX3U 的 D0 中,实现了数据交换功能;数据交换功能亦可实现 FX3U 到 FX5U、FX5U 到 FX3U 的位、字节和字的数据交换功能。

S 系列的型号及适用 PLC

相关问答

plc怎么让一段程序重复运行两次?

可以用一个调用子程序来实现。可以用一个调用子程序来实现。

大家好,请问同一个程序通过电脑多次重复写入三菱PLC,PLC是不是不能执行程序呀,谢谢了?

能够执行,PLC的程序是如果输入新的程序那么以前PLC中已存在的程序就会被覆盖,只留你最新输入的程序能够执行,PLC的程序是如果输入新的程序那么以前PLC中已存...

plc如何做按一下通再按一下断?

您好,PLC可以通过以下步骤实现按一下通再按一下断的功能:1.配置一个输入口(如X0)用于接收按键输入信号。2.在PLC程序中配置一个状态变量(如Status),用...

plc多次传程序对plc有影响吗?

有plc设备不可以反复使用PLC设备,作为驱动元件,在语法上是可以无限次的使用。但在实际编程中是不应该的,应该避免使用的。因为,在重复使用的输出线圈中只有...

三菱plc怎么不重复输入?

Plc它的工作原理是重复扫描,在一定的时间和周期下,重复性的工作,他的工作扫描时间为毫秒,我们的输入点位,它是通过多次的循环扫描啊,运算的,假如我们在上...P...

plc输出线圈能有两个相同的吗?

PLC输出线圈是指PLC输出模块中的一个电气元件,它用来控制外部设备的开关状态。在同一PLC输出模块中,一般是不允许出现两个相同的输出线圈的,因为这样会导致输...

plc启动程序怎么只执行一次?

关于这个问题,要让PLC启动程序只执行一次,可以在程序开头加入一个标记,表示程序已经执行过了。具体步骤如下:1.在程序开头定义一个变量,用于标记程序是否...

在s7200同一个程序中,可以对同一输出线圈多次使用置位和复位指令吗?

可以的,但是使用的时候还要要注意,程序是从上往下扫描的,假如线圈同时置位复位了,PLC输出的时候只认程序最下面那个状态!可以的,但是使用的时候还要要注意,程...

plc单独编程到调试过程详情?

熟悉控住对象、PLC选型及确定硬件配置、设计PLC的外部接线。设计控制程序、程序调试和编制技术文件。1了解控制对象,确定控制要求这一步是系统设计的基础。...

plc同一个线圈可以两次置位吗?

可以可以的,但是使用的时候还要要注意,程序是从上往下扫描的,假如线圈同时置位复位了,PLC输出的时候只认程序最下面那个状态!置位指令SET和复位指令RST可以...

 江苏省能源局局长陈勇  人机交互系统 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部