西门子6ES7253-1AA22-0XA0型号齐全
- 供应商
- 浔之漫智控技术-西门子PLC代理商
- 认证
- 手机号
- 15221406036
- 经理
- 聂航
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-08 07:10
西门子6es7253-1aa22-0xa0型号齐全
1.引言:
由于可编程序控制器具有功能强,可靠性高,环境适应能力和抗干扰能力强,以及接线简单,编程灵活、方便等特点广泛应用于工业控制。目前国内许多厂家的自动控制系统及加工机床都采用plc代替继电控制。如汽车行业的一汽、二汽,早在八十年代中后期就大力着手将继电器控制系统改造成可编程控制系统,各厂家在近几年新进的设备中大部份都是由可编程控制的。由于市场对菱木变速箱的需求量大,而工厂对菱木变速箱壳体加工的能力有限,需自制一台菱木变速箱壳体镗铣组合机床,我承担了该机床电气控制系统的设计任务。
2. 镗铣组合机床的电气控制要求
镗铣组合机床是用来加工菱木变速箱壳体端面及轴孔的专用机床。机床由中间滑台、铣削动力头、小动力头、镗削动力头几部份组成。工件的夹紧、松开由气压控制,工件夹紧在中间滑台上,由铣削动力头和小动力头分别对壳体大、小端面进行铣削加工,由镗削动力头对轴孔进行镗削加工。中间滑台及镗削动力头、小动力头的进、退由液压系统驱动,通过对铣削电机、镗削电机、液压电机及液压电磁阀的通断控制实现的工作循环如下:(1)工件安装并夹紧后,按下启动按钮,铣削电机启动,中间滑台工进,铣削大端面。(2)铣削完毕后,中间滑台由工进转快进。(3)快进到位转二次工进,同时小动力头电机启动并进给,铣削小端面。(4)铣削完毕后小动力头电机停止并退,中间滑台停止并定位。(5)镗削电机启动,镗削动力头工进对轴孔进行镗削加工。(6)镗削动力头快进。(7)镗削动力头二次工进对另一个轴孔进行加工。(8)镗削动力头定位并延时。(9)镗削电机制动。(10)镗削动力头快退到原位。(11)中间滑台快退到原位,夹具松开取出工件,等待下一个循环。
表1:i/o地址分配表
3.系统硬件设计
根据上述机床电气控制要求,输入输出均为开关量,需要plc检测的输入信号有:6个按钮,8个行程开关,压力继电器及3个转换开关共计22个。plc输出控制信号有:7个电磁阀,3个继电器,3个信号指示灯共13个。液压电机的控制及电机的点动控制不通过plc。因此,选用日本三菱公司的f1-40mr(继电器输出,整体式)plc为基本单元(24个输入点,16个输出点)能满足控制要求。具体的i/o地直分配见表1。plc控制系统的外部接线图如图1。
4.系统软件设计
4.1.整体程序设计
在系统程序设计中,采用了调整、自动、步进三种控制方式,采用模块组合结构。将不同控制方式的程序分别编写,采用条件跳转指令,根据工作方式选择开关决定执行哪种控制程序。这样使得程序结构清晰,编程方便。系统控制程序的总体结构如图2所示。公共程序是系统共用程序,调整程序实现机床的点动控制。自动程序包括了自动和步进两种功能。当sa3置于调整状态时x412得电,执行调整程序,公共程序中的转换禁止m574有效,自动程序无法转换。当sa3置于自动状态时x411得电,公共程序中的转换启动m575在按下启动按钮后得电,使自动程序能顺利执行。当sa3置于步进状态时x410得电,在按下启动按钮时转换启动m575得电并瞬时断开转换禁止m574,使自动程序能实现一步转换,执行一个工作节拍,再按一次启动按钮执行下一个工作节拍,实现步进控制。
4.2.自动程序设计
该镗铣组合机床是开关量的顺序控制,用软件编程实现顺序控制是plc突出的特点。日本三菱f1系列plc实现顺序控制的程序设计方法主要有四种:采用步进梯形指令(stl)编程;采用移位指令编程;采用置位/复位(s/r)指令编程;采用启、停、保电路编程。从直观易懂,设计简捷的角度出发我选择了步进梯形指令编制自动程序。顺序功能图和自动程序梯形图如图3和图4所示。
5.结束语
本文介绍了利用三菱f1系列plc的步进梯形指令实现对镗铣组合机床的自动控制。现场的应用结果表明,plc功能强,抗干扰性能好,工作寿命长,可靠性高,编程灵活,大大提高了设备的自动化水平。
随着plc技术的不断发展,越来越显示其强大的核心控制功能,plc和其他设备之间的连接已经从比较烦琐的传统i/o方式向越来越受欢迎的简洁先进的通信方式过渡,不仅为设计者节省了大量的硬件成本,更能为远程控制,组网提供了可能,使控制系统更加无缝地融为一体。
本文主要通过艾默生plc和多台变频器组网通信(以modbus协议方式)为例,说明plc和多台变频器网络控制的通信程序的设计方法。
一、modbus协议简要介绍
modbus协议由美国的modicon公司提出,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,不同厂商生产的控制设备可以连成工业网络,进行集中监控,它已经成为一通用工业标准。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:ipc,hmi,plc等;典型的从设备:各种仪表,plc,变频器等。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。modbus协议建立了主设备查询和从设备回应的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。modbus协议同时支持rtu模式和ascii模式,rtu模式对应的帧格式如下:(ascii模式介绍省略)
更详细的说明请查阅modbus协议的有关资料(或登陆网站 www.modbus.org)。
二、艾默生plc集成的modbus协议功能
艾默生ec20系列plc的通信口com 1集成了modbus主站协议,在编程时先在编程软件的系统块里进行设置具体如下:系统块—>“通信口”菜单—>“通信口1参数设置”菜单—>选“modbus协议”—> 进行“modbus设置”—> 进行通信参数和(主模式)站号等设置即可。
然后利用modbus指令进行编程-----------modbus (s1) (s2)(s3)各参数含义如下:
s1 指定的通讯通道;
s2 发送数据起始地址;
s3 接收数据起始地址;
modbus指令发送过程中,自动加上所需的起始字符,结束字符和校验和;发送的数据,不需设定发送的数据长度,系统会根据功能码自动按系统内部设定长度进行发送。
2个重要的通信标志:sm135--modbus的通讯成功标志位,通讯成功时置位,不会自动复位,所以在发送数据的时候要进行一次复位;sm136—modbus的通信错误标志位,通信错误(包括从设备没有回应)时置位,不会自动复位,所以在接收数据的时候要进行一次复位;
三、艾默生变频器通信协议
艾默生公司生产的ev系列变频器都集成modbus协议,且提供rs232c和rs485通信口供用户选择,所以通过plc和变频器通信的方式完成控制比较简单经济,而且显得系统比较,下面简单介绍其协议:
1. 支持modbus rtu和ascii格式;
2.参数的modbus协议地址影射规则:变频器的功能码参数、控制参数和状态参数都映射为modbus的读写寄存器。变频器功能码的组号映射为寄存器地址的高字节,组内索引映射为寄存器地址的低字节。变频器的控制参数和状态参数均虚拟为变频器功能码组。功能码组号与其映射的寄存器地址高字节的对应关系如下:f0组:0x00;f1组:0x01;f2组:0x02;f3组:0x03;f4组:0x04;f5组:0x05;f6组:0x06;f7组:0x07;f8组:0x08;f9组:0x09;fa组:0x0a;fb组:0x0b;fc组:0x0c;fd组:0x0d;fe组:0x0e;ff组:0x0f;fh组:0x10;fl组:0x11;fn组:0x12;fp组:0x13;fu组:0x14;变频器控制参数组:0x32;变频器状态参数组:0x33。例如变频器功能码参数f3.02的寄存器地址为0x302,变频器功能码参数ff.01的寄存器地址为0xf01。
3. 支持的功能码如下:
4. 具体的协议介绍请参考艾默生变频器用户手册;
四、程序流程图
主设备对从设备的消息查询命令主要分为2大类,连续命令序列和随机命令序列。
连续命令序列:主设备需要定时或连续向从设备发送的命令序列.特点是周期性,连续性.如plc对变频器读取运行频率命令,运行状态命令等。
随机命令序列:主设备不定时或随机向从设备发送的命令序列.特点是不定时性,随机性.如plc对变频器的启停控制,改写频率或其他参数等。
五、 程序清单:( 子程序和主程序)
本程序主要介绍1台ec20plc(作为主站)按照modbus协议网络对3台变频器(从站号分别是2,3,4)进行通信控制的简单范例,本例中:
连续命令序列 包括对2,3,4号变频器的运行频率的读取;
随机命令序列 包括对2,3,4号变频器进行启动,停止,更改频率的命令操作;
1) “变频器正转”子程序清单如下:
https://主程序中用m1993作为各发送辅助使能,主要用于 modbus指令的上升沿触发无其他用
ld lm0 https://位输入参数型—发送辅助使能
rst sm135 https://复位成功标志
rst sm136 https://复位失败标志
ld sm0 https://运行标志
mov z0 v9 https://保存z0值到v9
ld sm0 https://运行标志
mov v0 v10 https://从机地址
mov 16#6 v11 https://功能码
mov 16#32 v12 https://寄存器地址高字节
mov 16#0 v13 https://寄存器地址低字节
mov 1 v14 https://写入数据高字节
mov 16#c7 v15 https://写入数据低字节
https://以下把发送数据转移到d7940-d7945里
ld sm0
mov 0 z0
ld sm0
for 6
ld sm0
mov v10z0 d7940z0
ld sm0
inc z0
next
https://发送接收数据,数据放在d7970开始区域
ld lm0
modbus 1 d7940 d7970
rst lm0 https://马上复位发送辅助使能
https://无论成功失败都还原z0值
https://当然这里省略了错误报告的处理
ld sm135
or sm136
eu https://上升沿
mov v9 z0
2) “停机”子程序(省略)
3) “设定频率”子程序(省略)
4) “读取运行频率”子程序(省略)
5) 主程序清单:
https://******以下为通信逻辑处理部分******
ld sm1 https://运行周期脉冲
https://***这里省略了检查从机准备好否的环节***
https://***程序里设计了3个连续命令序列***
rst m6 https://复位连续命令序列1使能标志
rst m7 https://复位连续命令序列2使能标志
rst m8 https://复位连续命令序列3使能标志
ed https://下降沿
https://置位连续命令序列1使能标志,以开始第1条连续命令执行
set m6
https://***程序里设计了共9个随机命令序列***
https://只要有至少1个随机命令, https:// m1000=on,表示有随机命令等待,这样在连续命令切换时优先执行随机命令系列.
ld m0 https://随机命令序列1使能标志
or m1 https://随机命令序列2使能标志
or m2 https://随机命令序列3使能标志
or m3 https://随机命令序列4使能标志
or m4 https://随机命令序列5使能标志
or m5 https://随机命令序列6使能标志
or m9 https://随机命令序列7使能标志
or m10 https://随机命令序列8使能标志
or m11 https://随机命令序列9使能标志
set m1000
https://所有随机命令都处理完成后, m1000=off,表示随机命令完成,则连续命令可以正常切换。
ldi m0
ani m1
ani m2
ani m3
ani m4
ani m5
ani m9
ani m10
ani m11
rst m1000
https://任何1个连续命令未完成时,m1001=on,标志连续命令在进行,如果有随机命令必须等待。
ld m6
or m7
or m8
set m1001
https://连续命令处于切换状态时,m1001=off,标志连续命令完成,如果有随机命令可以进行。
ldi m6
ani m7
ani m8
rst m1001
https://每1个连续命令完成且无随机命令等待时,启动延时t0 100ms,以便切换下1个连续命令执行
ld m100 https://连续命令1完成标志
or m101 https://连续命令2完成标志
or m102 https://连续命令3完成标志
ani m1000
ton t0 1 https://启动延时t0 100ms
https://******************************************
https://**********以下为3个连续命令序列**********
https://调用“读取运行频率”子程序-2#站,频率存在d1000里;
https://通信成功或失败都复位连续命令序列1使能标志m6,同时置位完成标志m100,以便进行切换。当然这里省略了失败的处理子程序;
https://延时t0时间后,执行连续命令2序列,置位连续命令2序列使能标志m7;
ld m6 https://连续命令序列1使能
mps
eu
set m1993 https://发送前置位发送辅助标志
mrd
call 读取运行频率 2 m1993 d1000
https://参数注释:站地址,发送辅助位,频率存放地址
mpp
ld sm135
or sm136
anb
rst m6
set m100
ld t0
and m100
eu
rst m100 https://复位连续命令1完成标志
set m7
https://调用“读取运行频率”子程序-3#站,频率存在d1001里;
https://通信成功或失败都复位连续命令序列2使能标志m7,同时置位完成标志m101,以便进行切换。当然这里省略了失败的处理子程序;
https://延时t0时间后,执行连续命令3序列,置位连续命令3序列使能标志m8;
ld m7 https://连续命令2序列使能
mps
eu
set m1993 https://发送前置位发送辅助标志
mrd
call 读取运行频率 3 m1993 d1001
https://参数注释:站地址,发送辅助位,频率存放地址
mpp
ld sm135
or sm136
anb
rst m7 https://复位使能标志
set m101 https://置位完成标志
ld t0
and m101
eu
rst m101 https://复位连续命令2完成标志
set m8 https://置位连续命令3使能标志
https://调用“读取运行频率”子程序-4#站,频率存在d1002里
https://通信成功或失败都复位连续命令序列3使能标志m8,同时置位完成标志m102,以便进行切换。当然这里省略了失败的处理子程序;
https://延时t0时间后,重新执行连续命令1序列,置位连续命令1序列使能标志m6;
ld m8 https://连续命令3序列使能
mps
eu
set m1993
mrd
call 读取运行频率 4 m1993 d1002
https://参数注释:站地址,发送辅助位,频率存放地址
mpp
ld sm135
or sm136
anb
rst m8
set m102
ld t0
and m102
eu
rst m102
set m6
https://******************************************
https://**********以下是9个随机命令序列***********
https://9个随机命令思路都一样;
https://随机命令使能标志置位后,若连续命令处于切换状态,则可进入发送状态,否则只有等待;
https://发送时先置位发送辅助位m1993,调用子程序进行发送和接收;
https://无论通信成功或失败都复位各自的随机命令使能标志,当然这里仍然省略了通信错误处理程序;
https://如果所有的随机命令都完成,则随机命令等待标志m1000=off;
https://调用“频率设定”子程序-2#站
ld m9 https://随机命令序列7使能标志
ani m1001 https://判断连续命令处于切换状态时
mps
eu
set m1993 https://置位发送辅助位
mrd
call 运频设定 2 d1100 m1993
https://参数注释:站地址,设定频率,发送辅助位
mpp
ld sm135
or sm136
anb
rst m9 https://复位随机命令序列7使能标志
https://调用“频率设定”子程序-3#站
ld m10 https://随机命令序列8使能标志
ani m1001 https://判断连续命令处于切换状态时;
mps
eu
set m1993 https://置位发送辅助位
mrd
call 运频设定 3 d1101 m1993
https://参数注释:站地址,设定频率,发送辅助位
mpp
ld sm135
or sm136
anb
rst m10
https://调用“频率设定”子程序-4#站
ld m11 /随机命令序列9使能标志
ani m1001
mps
eu
set m1993
mrd
call 运频设定 4 d1102 m1993
https://参数注释:站地址,设定频率,发送辅助位
mpp
ld sm135
or sm136
anb
rst m10
https://调用“正转开机”子程序-2#站
ld x11 https://开机按扭
eu
set m0 https://随机命令序列1使能标志
ld m0
ani m1001
mps
eu
set m1993
mrd
call 正转开机 2 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m0
https://调用“正转开机”子程序-3#站
ld x12 https://开机按扭
eu
set m1 https://随机命令序列2使能标志
ld m1
ani m1001
mps
eu
set m1993
mrd
call 正转开机 3 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m1
https://调用“正转开机”子程序-4#站
ld x13 https://开机按扭
eu
set m2 https://随机命令序列3使能标志
ld m2
ani m1001
mps
eu
set m1993
mrd
call 正转开机 4 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m2
https://调用“停机”子程序-2#站
ld x14 https://停机按扭
eu
set m3 https://随机命令序列4使能标志
ld m3
ani m1001
mps
eu
set m1993
mrd
call 停机 2 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m3
https://调用“停机”子程序-3#站
ld x15 https://停机按扭
eu
set m4 https://随机命令序列5使能标志
ld m4
ani m1001
mps
eu
set m1993
mrd
call 停机 3 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m4
https://调用“停机”子程序-4#站
ld x16 https://停机按扭
eu
set m5 https://随机命令序列6使能标志
ld m5
ani m1001
mps
eu
set m1993
mrd
call 停机 4 m1993
https://参数注释:站地址,发送辅助位
mpp
ld sm135
or sm136
anb
rst m5
六、 程序说明:
例程设计时实际在连续命令序列切换的间隙停留了100ms的时间,这就是说程序中的连续序列是间歇性的;如果要采用非间歇性的连续序列,把中间的延时部分去掉就可以了。
本例程所阐述的通信序列逻辑处理的方法在笔者的一些项目中得到实际应用,效果也达到预期设想,运行比较稳定,这种plc通过通信的方式对多台变频器通信的方法在实际应用中有很大的参考价值,不仅能够充分利用emersonplc和变频器的硬件资源达到节省成本的目的,而且更易于进行整个系统的整合。