Internal Combustion Engine &Parts
0引言
Modbus-TCP 是运行在TCP/IP 上的Modbus 传输协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。应用Modbus-TCP 构建的工业以太网络具有组网简单,通信高效、稳定的特点,因而在工业工程中得到了较多的应用。该文以Modebus-TCP 通信在全国工业机器人技术大赛中的具体应用为例,详细阐述了Modebus-TCP 在TIA Portal V13中创建PLC 与机器人通信的使用方法。
1硬件组态
打开TIA Portal V13软件,创建新项目,项目命名为“Communication ”,更改保存位置(自定),点击【创建】。新项目创建成功后,对硬件进行组态。
1.1添加PLC 控制器在【项目树】、【设备】、【Communication 】下双击【添加新设备】,出现添加新设备对话框,点击对话框左侧【控制器】。在控制器选择框里,依次选择SIMATIC S7-1200,CPU 1215C DC/DC/DC ,6ES7215-1AG40-0XB0。在对话框右侧【设备】下,版本选择V4.0。点击【确定】。在PLC 属性里设置PLC 以太网网址:19
2.168.8.101。
1.2添加通信模块在【硬件目录】下,依次选择【通信模块】、【点到点】、【CM1241(RS422/485)】,双击【6ES7241-1CH32-0XB0】,完成通信模块的添加。
1.3添加IO 模块
在【硬件目录】下,依次选择【DI/DQ 】、【DI 16/DQ 16x24VDC 】,双击【6ES7223-1BL32-0XB0】,完成IO 模块的添加。
点击【编辑】下来菜单,点击【编译】,将以上模块进行编译,完成PLC 的硬件组态,如图1所示。
2创建PLC 与机器人通信模块2.1添加全局数据块
在PLC_1程序块添加新块,名称为“DBPubulic ”,类型为数据块(DB )。在DBPubulic 数据块中写入静态变量(static ):
新增变量【PLC-机器人信息】,数据类型设为【struct 】。点击【PLC-机器人信息】左侧的三角标记,在其下新增【机
器人启动】,数据类型设为【int 】;新增【通道】,数据类型设
为【int 】;新增【通道_1】、【通道_2】…【通道_14】,数据类型均设为【int 】。
新增变量【机器人信息-PLC 】,数据类型设为【struct 】。点击【机器人信息-PLC 】左侧的三角标记,在其下新增【机器人状态】,数据类型设为【int 】;新增【通道】,数据类型设为【int 】;新增【通道_1】、【通道_2】…【通道_14】,数据类型均设为【int 】。
右击【DBPubulic 】数据块,点击【属性】,将优化的块访问前面的“√”去掉。
2.2创建FB 数据块2.2.1定义FB 数据块
在PLC_1程序块添加新块,名称为“通信模块”,类型为函数块(FB ),语言选择“LAD ”。在通信模块数据块中写入静态变量(static ),如图2所示。
2.2.2添加通信指令
在程序段1中添加PLC 通信指令“MB_CLIENT ”,并设置各个输入输出,如图3所示。
选择“#MB_CLIENT_Instance ”,单击右键转至定义,修改静态变量中“MB_UNIT_ID ”的默认值为1。
2.2.3完成通讯程序
打开MAIN 主程序,将通讯模块拖动到程序段1中,完成PLC 与机器人的通讯,并对新内容编译。
3创建PLC 控制机器人流程模块3.1定义FB 数据块在PLC_1程序块添加新块,名称为“流程控制”,类型为函数块
(FB ),语言选择“LAD ”。在通信模块数据块中写——————————————————————
—作者简介:陈邦玺(1980-),河南信阳人,信阳高级技工学校一级
实习指导教师,从事机电一体化专业理论与实践教学。基于西门子S7-1200Modbus TCP 与机器人通信
陈邦玺
(信阳高级技工学校,信阳464000)
摘要:Modbus-TCP 是运行在TCP/IP 上的Modbus 传输协议。通过此协议,控制器相互之间或控制器经由网络(如以太网)可以和
其它设备之间进行通信。应用Modbus-TCP 构建的工业以太网络具有组网简单,通信高效、稳定的特点,因而在工业工程中得到了较多的应用。该文以Modebus-TCP 通信在全国工业机器人技术大赛中的具体应用为例,详细阐述了西门子S7-1200Modebus-TCP 在TIA Portal V13中创建PLC 与汇博机器人通信的使用方法。
关键词:Modbus-TCP ;PLC ;机器人;通
信
图1PLC 硬件组态
入静态变量(static),如图4所示。
名称:步启动;数据类型:int
3.2添加PLC变量
在PLC_1的PLC变量内的默认变量表里添加PLC变量,如图5所示。
3.3添加流程控制指令
在程序段中添加流程控制指令,并设置各个输入输出,如图6所示。
3.4完成流程控制程序
打开MAIN主程序,将流程控制拖动到程序段2中,完成PLC控制机器人的流
程,并对新内容编译。
4机器人程序
机器人编写一个主程序和两个子程序。要求主程序一直循环。如果接收到
PLC发送的“11”信号,执行第一个子程
序;如果接收到PLC发送的“22”信号,执
行第二个子程序。机器人在原点的时候给
PLC发送“100”信号,机器人在工作过程
中给PLC发送“200”信号。
主程序:
Main()
WHILE TRUE DO
sendingSignal.val:=100;
IF recieptSignal.val=11THEN
CALL rPick1();
END_IF
IF recieptSignal.val=12THEN
CALL rPick();
END_IF
END_WHILE
子程序1:
rPick()
sendingSignal.val:=200;
PTP(apHome);
Lin(pickSafe);
Lin(pickOver);
Lin(pick);
WaitIsFinished();
doubleXp.Set(TRUE);
WaitIsFinished();
Lin(pickOver);
Lin(pickSafe);
Lin(putSafe);
Lin(putOver);
Lin(put);
WaitIsFinished();
doubleXp.Set(FALSE);
WaitIsFinished();
Lin(putOver);
Lin(putSafe)
子程序2:
rPick1()sendingSignal.val:=200;
图3通信指令
图2通信模块静态变
量
图3通信指令
图4流程控制静态变
量
图5PLC变
量
图6流程控制指令
Internal Combustion Engine &
Parts
图1Thevenin 模型
0引言
新能源汽车已经成为当今汽车行业的热点,各国政府和企业都加大了对新能能源汽车的研发投入,到目前新能源汽车主要分为纯电动汽车、混合动力汽车和燃料电池汽车[1]三大方向。作为燃油车向新能源车
的过渡产物,混合动力汽车一直相比纯电动汽车有着续航里程和动力性能上的优势,相比燃料电池汽车产业又比较成熟,所以是目前前景比较好的新能源汽车发展方向[2]。其中镍氢电池因为其比功率高、使用安全、大电流充放性能好和成本不高等优势,所以在混合动力汽车上使用很广泛。
动力镍氢电池作为混合动力汽车重要的能量来源,建立一个精确的电池模型以及对其SOC (State Of Charge ,荷电状态)的估算能够充分发挥电池的使用性能,延长其使用寿命,也是为后续BMS (Battery Management System ,电池管理系统)对其进行合理有效的能量管理做好铺垫。在制定各种电池管理策略前使用电池模型进行仿真来检验策略是否能满足预期目标,不需要使用实际样本,从而节约了成本,也缩短了开发周期。电池的SOC 则像燃油车上的油量计一样表征电池的电量多少,防止电池处于过充过放的状态,造成活性物质永久性的损失,降低电池的使用寿命和安全性。因此,对混合动力汽车来说,电池的SOC 估算是非常重要的。本文采用某公司产的六节串联镍氢电池模组,额定电压为7.2V ,容量为6Ah 。
1电池等效电路模型的建立
等效电
路模型使用电阻、电容、电压源等常见的基本电路元件来模拟实际中电池的电压和电流之间的关系,较为直观、易于理解,适用于多种电池,是如今电池建模研究中常常使用的方法。本文采用Thevenin 模型。
Thevenin 模型是依据Thevenin 定理而提出的模型,模型中电动势即电池开路电压U ocv 是随电池SOC 值变化而改变的,充放电时开路电压U ocv 和SOC 值时固定的对应关系的。电阻R 0为电池的欧姆电阻,模拟了电池充放电时突然的电压升和电压降,R 1为电池的极化电阻,C 1为电池内部极化过程中产生的容抗,电阻R 1和电容C 1共同模拟了电池内部的极化过程,对应着电池充放电初始时端电压的——————————————————————
tcpip协议中基于tcp协议的应用程序—作者简介:李家月(1993-),男,河北邢台人,硕士,研究方向为汽
车电子与电动汽车技术。
基于扩展卡尔曼滤波的镍氢电池SOC 估计
李家月;贠海涛;徐钦赐;王胜达
(青岛理工大学机械与汽车工程学院,青岛266520)
摘要:针对电池SOC 估计所用安时积分法的缺陷,本文采取了EKF (扩展卡尔曼滤波)算法,在描述电池模型系统的状态方程和
观测方程上应用这种算法估算SOC 值。通过实验看到了,EKF 算法不存在安时积分法的误差累积问题且有对错误初始SOC 值的自我纠正能力,而且较为精确和稳定,其估算误差的小于5%。
关键词:镍氢电池;电池SOC 估计;无迹卡尔曼滤波
PTP(apHome1);
Lin(pickSafe1);Lin(pickOver1);Lin(pick1);
WaitIsFinished();jiaZhua.Set(TRUE);WaitIsFinished();Lin(pickOver1);Lin(pickSafe1);Lin(putSafe1);Lin(putOver1);Lin(put1);
WaitIsFinished();jiaZhua.Set(FALSE);WaitIsFinished();Lin(putOver1);
Lin(putSafe1);
PTP(apHome1);
程序中变量sendingSignal.val 为机器人状态,是机器人发送给PLC 的;变量recieptSignal.val 为赋值数据,是PLC 发送给机器人的。
5程序调试
将TIA Portal V13中“Communication ”项目下载到S7-1200设备里。将机器人的主程序及子程序拷贝到汇博机器人的示教器里,并对机器人的输入输出信号进行设置。最后进行PLC 与机器人的联机调试并对程序进行修正,以符合设计要求。
6小结
本文主要介绍了西门子S7-1200Modbus-TCP 与机器人的通信,本案例中用到了PLC 的“MB_CLIENT ”指令,实现了PLC 与机器人的相互访问。由于篇幅所限,本文未到之处,敬请谅解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论