S7-1200与雷赛步进驱动器的MODBUS通信应用
	                        
	                            饶等
	                            发布于2021-08-23 11:19
	                            
	                                
	                                17
	                            
	                            
	                                
	                                2
	                            
	                            
	                            标签:S7-1200,步进驱动器,西门子,雷赛,Modbus RTU
	                        
	                     
	                    
	                        
	
【免费下载】PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载! 
	
【免费学习】 变频器精品课程_西门子PLC精品教程_三菱PLC精品教程! 
	摘要: 
	西门子S7-1200  PLC系列由于其设计紧凑、成本低廉、稳定性好且编程简便,被中小型自动化系统中广泛使用。而雷赛作为国产品牌中的佼佼者,其步进驱动产品性价比高,而被广泛使用。本文就介绍西门子S7-1200  PLC与雷赛步进驱动器使用Modbus RTU通信的应用。 
	关键词:S7-1200;步进驱动器;西门子;雷赛;Modbus RTU 
	一 硬件 
	
	
 
	
	
 
	
	二 功能描述 
	S7-1200 PLC做Modbus主站,步进驱动器做从站。PLC通过轮询的方式读取步进驱动器的当前位置,并能实现点动驱动器功能。 
	三 功能实现 
	步骤1 步进驱动器参数设置 
	
	- 
		波特率:38400 
	
 
	- 
		奇偶校验:None 
	
 
	- 
		数据位:8位 
	
 
	- 
		停止位:1 
	
 
	
	以上参数为默认,如需修改可查看相关手册更改。 
	步骤2 组态Modbus RTU通信模块 
	在硬件目录里找到“通信模块”→“点对点”→“CM1241(RS422/485)”,双击或拖拽此模块至CPU左侧即可,如下图所示: 
	
	
 
	图1 组态通信模块 
	步骤3 启用系统存储器 
	在项目树中选中PLC_1,左击选择“属性”,在弹出窗口找到“系统和时钟存储器”,勾选启用系统给存储器字节。 
	
	
 
	图2 启用系统存储器 
	步骤4 调用MB_COMM_LOAD指令 
	打开Main(OB1)组织块,依次打开“指令”→“通信”→“通信处理器”→“Modbus” ,将MB_COMM_LOAD拖拽到程序段中,如图所示: 
	
	
 
	图3 调用MB_COMM_LOAD指令 
	在MB_COMM_LOAD指令中,触发使用系统存储器位FirstScan,在PLC启动时打开端口。通信端口的硬件标识选择CM422/485模块,波特率使用38400,奇偶校验选择0-无,背景数据块使用MB_MASTER_DB。 
	步骤5 创建数据发送和接收缓存区 
	在项目树中,依次选择“添加新块”→“DB数据块”→“确定”,如图所示: 
	
	
 
	图4 添加DB数据块 
	添加数据块之后,需要去掉“优化的块访问”选项,并添加数据发送和接收缓存区,如图所示: 
	
	
 
	图5 去掉“优化的块访问” 
	
	
 
	图6 添加DATA_PTR收缓存区 
	步骤6 调用MB_MASTER指令 
	打开Main(OB1)组织块,依次打开“指令”→“通信”→“通信处理器”→“Modbus” ,将MB_MASTER拖拽到程序段中,如图所示: 
	
	
 
	图7 调用MB_MASTER指令 
	在该指令中,MB_ADDR从站地址选择1,MODE模式选择0,DATA_ADDR起始地址40003,DATA_LEN数据长度为2,DATA_PTR数据指针为数据块_1的Read_DATA。 
	由于西门子Modbus RTU通讯的特殊性,关于MODE、DATA_ADDR、DATA_LEN规定如下表所示: 
	
	
 
	
	步骤7 轮询参数程序 
	由于Modbus RTU通讯本身的特性,在工业领域中我们使用轮询的机制对Modbus从站进行读写操作。具体如图所示: 
	
	
 
	
	
 
	
	
 
	
	
 
	
	
 
	
	
 
	
	
 
	
	
 
	
	在这个轮询的程序中,我们使用的是上一个参数的参数的完成或者是错误信号作为下一个的启动信号,这种方式,需要我们提前确定好通讯的框架,对一个参数执行类似的操作。当我们最后一个参数读写完成,则返回第一步进行循环操作。 
	值得注意的是程序中,我们程序中使用的参数和地址需要各位查看相关的手册灵活使用。 
	四 总结 
	此程序是西门子S7-1200与雷赛DM2C步进驱动器的Modbus RTU通讯的简单案例,为1200 PLC与第三方设备的Modbus  RTU通讯提供了一种方法,对于步进/伺服驱动器、其它第三方仪表设备Modbus RTU通讯具有参考价值,对于多个从站的Modbus  RTU通讯同样具有参考意义。 
	由于篇幅有限和本人水平有限,难免有错误和遗漏的地方,本文仅供用作参考学习使用。 
	(技成培训网原创,作者:张志强,未经授权不得转载,违者必究) 
	
		
			
				| 
					 
						 
					 
					
						  
					 
					
						电工精品教程 
					 
					
						立即扫码免费学习 
					 
					
						 
					 
				 | 
				
					 
						  
					 
 
					
						电工题库宝典 
					 
					
						立即扫码免费下载 
					 
				 | 
				
					 
						  
					 
					
						超全PLC学习资料包 
					 
					
						立即扫码免费下载 
					 
				 | 
				
					 
						  
					 
					
						故障查询小程序 
					 
					
						立即扫码免费使用 
					 
				 |