MM400系列与S7-200 MODBUS通讯
如何用 S7-200 实现 Modbus 通信
如何用 S7-200 实现 Modbus 通信?说明:用下面的例程你可以在 S7-200 CPU 之间建立一个简单的 Modbus 主-从通讯。
这个例子是关于 Modbus 功能码 6 的(写从站保持寄存器),也可以作为其他所支持的功能码的基本参数设置步骤:1, 2, 3, 4, 5, 15 和16 。
要求:要使用 Modbus 协议必须先获得并在 STEP 7 Micro/Win 中安装指令库 (条目17470979)。
Modbus 主站协议只被 STEP 7 Micro/Win V4.0 SP5 及其以上版本支持。
1. 硬件设置例程中的 Modbus 通讯是在两个 S7-200 CPU 的 0 号通讯口间进行的(最好每个 CPU 都有两个通讯口)。
在主站侧也可以用相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。
通讯口 1 用 Micro/WIN 与 PG 或 PC 建立连接,两个 CPU 的通讯口 0 通过 Profibus 缆进行连接(电缆的针脚连接为3,3,8,8 -> 见图 01)。
另外,需要确定逻辑地M相连。
图. 012. 参数匹配对于 MODBUS 通讯,主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG",从站侧需要程序库"MBUS_INIT" and "MBUS_SLAVE"。
在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。
必须要保证主站与从站的“Baud”和 “Parity” 的参数设置要一致,并且程序块 "MBUS_MSG" 中的"Slave" 地址要与程序块 "MBUS_INIT" 中的 "Addr" 所设置的一致 (见图. 02)。
S7-200,MODBUS通讯
1.2.3.检查Micro/WIN的软件版本,应当是Step7 - Micro/WIN V3.2以上版本。
4.检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLA VE两个子程序。
如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;1.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLA VE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;1.图中参数意义如下:a.模式选择:启动/停止MODBUS,1=启动;0=停止b.从站地址:MODBUS从站地址,取值1~247c.波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d.奇偶校验:0=无校验;1=奇校验;2=偶校验e.延时:附加字符间延时,缺省值为0f.最大I/Q位:参与通讯的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128g.最大AI字数:参与通讯的最大AI通道数,可为16或32h.最大保持寄存器区:参与通讯的V存储区字(VW)i.保持寄存器区起始地址:以&VBx指定(间接寻址方式)j.初始化完成标志:成功初始化后置1k.初始化错误代码l.MODBUS执行:通讯中时置1m.错误代码:0=无错误2.在CPU的V数据区中分配库指令数据区(Library Memory);3.如有必要,使用简单的软件测试。
4.在WINCC中建立MODBUS通讯连接,5.配置MODBUS系统连接参数配置端口与通讯速率等参数,注意与PLC中的配置要一致。
配置MODBUS站地址,注意与PLC中的配置相同。
通过以太网在SIMATIC S7-200和S7-400之间组态S7连接
说明:组态S7-200和S7-400之间通过以太网实现的S7连接,必须一方面在STEP 7 Micro/WIN中使用以太网向导配置S7- 200,另一方面在NetPro中配置S7-400。
对于两站之间的以太网通信,需要支持S7通信的通信处理器和CPU。
在该条目下,使用样例详细解释S7-200和S7-400所需的全部配置。
使用STEP 7 Micro/WIN的以太网向导组态CP243-11.打开STEP 7 Micro/WIN,然后选择“工具〉以太网向导……”,启动以太网向导。
图1:启动以太网向导2.向导程序的第一步是以太网向导的描述。
按“下一步”键,开始组态过程。
图2:以太网向导描述3.在显示的窗口中提示STEP 7 Micro/WIN项目必须编译并且该项目必须在符号寻址模式中。
按“确定”键表示确认图3:编译项目,启动符号寻址模式4.如果在S7-200站中连接了CP243-1,可以通过“读取模块”按钮自动确定CP243-1的模块位置。
按“下一步”。
图4:确定模块位置5.为CP243-1定义一个唯一的IP地址,并指定相关子网掩码。
按“下一步”确认以上设置。
图5:为CP243-1定义IP地址和子网掩码6.在本例中,需要一个S7连接以便与S7-400通信。
因此,在“为该模块组态的连接数量”中输入“1”。
按“下一步”。
图6:S7连接数量7.出现S7连接组态对话框。
可以将这个S7连接组态为客户机连接,也可以组态为服务器连接。
在本例中,使用客户机连接传输数据,也就是说,由CP243-1建立S7连接。
∙输入TSAP作为两站之间的连接标识符。
TSAPs 必须使用相应的配置工具预先定义并且通信方相互匹配(参考图17)∙输入CP443-1的IP地址。
∙为连接指定一个符号名。
按“数据传输”按钮,为这个连接定义一个新的数据传输。
图7:连接组态8.选择“从远程服务器连接读取数据”,用以从S7-400读取数据。
输入要从服务器读取的数据字节数,指定S7-400中该数据的位置。
西门子 400H与200通信
400H如何与S7-200通讯How to communicate between 400H and s7-200摘要 本文讲述了如何组态400H控制器与S7-200通过以太网和DP实现通讯。
关键词冗余,S7连接,以太网,TSAP,EM277,Y-LINKKey Words Redundant, S7-connection, Ethernet, TSAP,EM277,Y-LINKIA&DT Service & Support Page 2-30问题:如何实现400H冗余控制器与S7-200通讯?一、S7-400H 与S7-200通过以太网通讯 (4)1.S7-400H侧的组态 (4)2. S7-200侧的通讯组态 (8)3. 通讯双方编程 (16)4. 以太网通讯测试 (20)二、400H与S7-200通过DP进行通讯 (22)1.S7-200侧的配置 (22)2.400H侧的硬件配置: (23)3. 组态完成 (29)IA&DT Service & Support Page 3-30IA&DT Service & SupportPage 4-30问题:如何实现400H 冗余控制器与S7-200通讯?解答:S7-400 H 系统和S7-200之间的通讯可以通过两种方法实现. 第一种方案是通过CP243实现以太网的通讯,第二种方案是通过Y-LINK 和EM277,实现基于DP 总线通讯。
一、S7-400H 与S7-200通过以太网通讯通过在双方建立“未指定”的S7连接,在连接中指定对方的IP 地址和TSAP 号来实现数据通讯。
关于这方面的内容,可以参考编号为 17369594的FAQ 。
/CN/view/zh/4000024+17369594由于S7-400H 冗余控制器由RACK0和RACK1两个子系统组成,每个子系统包括单独的控制器和CP443-1以太网通讯模板。
S7-200与MM440、MM430、MM410、G110之间的USS通信
S7-200与MM440/MM430/MM420/G110之间的USS 通讯S7-200 and MM440/MM430/MM420/G110 USS Communication北京盛唐和迅科技有限公司http://www.sthx.net服务热线:400-626-18083.我们需要创建一个简单的例程:¾第一步:设置通讯接口¾第二步:建立PC与S2-200之间连接(注意:PC通过PC/PPI电缆与200PORT1口连接;)¾第三步:用电缆将S7-200PORT0端口与MM440/MM430/MM420/G110的RS485接口相连(注意:端口连接的规则,MM440/MM430是3对29、8对30;MM420是3对14、8对15;G110是3对8、8对9,特别强调的是,只有订货号像6SL3211-0AB22-2AB0这样,倒数第二位是字母B的G110装置才能实现USS串口控制方式,如下图所示)二进制值2#1000 0000 0000表示要初始化USS地址为11的变频器,波特率为9600,此波特率要与PC/PPI电缆的设置相同,详细情况请参看USS_INIT文件;此外我们还需要在变频器上设置相应的参数。
符号表状态表第六步:在编译程序之前,选择 Program Block -> Library then right mouse click: select Library Memory. 在点击Suggested Address选择“OK”退出,如下图所示:第七步:编译程序并下载到S7-200,运行程序,在状态表中将RUN速度给定,这时变频器就会按照指定的频率运行起来了,如果运行不起来,请察看中的值,确定故障原因;详细情况请参看USS_CTRL的帮助文件及MM440/MM430/MM420/G110控制字的定义在运行此程序块的情况下,只要给S7-200的I0.3置一个上升沿,就可以完成一次对参数P1000的读操作,读入的值被保存到R_P1000。
S7-400与s7-200如何通讯
西门子S7-400,S7-300与S7-200的EM277之间的PROFIBUS-DP通讯圈子类别:PLC (未知) 2009-4-25 11:00:00[我要评论] [加入收藏] [加入圈子]西门子S7-400,S7-300与S7-200的EM277之间的PROFIBUS-DP通讯:西门子S7-400,S7-300PLC可以通过PROFIBUS-DP方式与S7-200的EM277进行通讯。
本文例子是一台CPU315-2DP作为PROFIBUS-DP通讯的主站,S7-200的EM277作为PROFIBUS-DP通讯的智能从站进行通讯。
S7-300与S7-200通过EM277进行PROFIBUS-DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V存储区与S7-300的组态EM277从站时的硬件I/O地址相对应就可以了。
1. 新建项目:在STEP7中创建一个新项目,点击右键,在弹出的菜单中选择“Insert New Object”→“SIMATIC 300 Station”,插入S7-300站。
2. 双击“Hardware”选项,进入“HW Config”窗口。
点击“Catalog”图标打开硬件目录,按硬件安装次序和订货号依次插入机架、电源、CPU等进行硬件组态。
插入CPU时会同时弹出PROFIBUS组态界面。
点击“New”按钮新建PROFIBUS(1),组态PROFIBUS 站地址,本例中为2。
点击“Properties”按钮组态网络属性,选择“Network Setings”进行网络参数设置,在本例中设置PROFIBUS的传输速率为“1.5Mbit/s”,行规为“DP”。
点击“OK”按钮确认,出现PROFIBUS网络。
3. 选中菜单“Option”→“Install New GSD...”,导入SIEM089D.GSD文件,安装EM277从站配置文件。
s7-400和s7-200通讯
与支持PROFIBUS PROFIBUS--DP 协议的第三方设备通信实例协议的第三方设备通信实例S7-400(CPU 414-2DP)和S7-200PROFIBUS-DP 接口EM277通信为例。
1、点击“文件-新建…”或工具栏中“新建”,出现“新建项目”对话框,建立一个S7400-EM277的项目。
2、点击“插入-站点-SIMATIC 400站点”插入一个S7-400站。
3、单击项目栏中或双击项目内容中的的SIMATIC400(1),项目内容中出现“硬件”项。
4、双击“硬件”项目,出现“HW Config”(硬件组态)窗口,依次插入导轨(RACK-400),电源模块(PS-400)和CPU 模块(CPU-400)。
5、在插入CPU(CPU 414-2DP)时,会出现PROFIBUS 属性对话框。
CPU 模块 功能模块 接口模块 电源模块 导轨信号模块6、新建网络,点击“NEW”,出现新建子网PROFIBUS-属性对话框。
7、点击标签“网络设置”,选择波特率及网络类型(DP)。
8、点击“确定”后出现CPU414-2DP网络组态好后的画面。
9、支持PROFIBUS-DP的第三方设备都会有GSD文件(通常以*GSD 或*GSE文件名出现),下面安装EM227的GSD文件。
点击HW中的“选项-安装GSD文件”。
10、在出现的“安装GSD 文件”对话框中,点击“浏览”选择GSD 文件所在的目录,找到SIEM089D.GSD (EM277的GSD 文件),再点击“安装”,安装完成后,会出现安装完成对话框。
点击“关闭”,关掉“安装GSD 文件”对话框。
11、此时,在右边PROFIBUS-DP 栏中会显示刚才加进去的设备名称,如下图:选择GSD 文件的路径12、把EM277挂于PROFIBUS 总线上。
13、双击上图的EM277图标,出现“属性-DP 从站”设定对话框,点击“PROFIBUS …”键,设定EM277的地址(注意:设定的地址须和EM277的拨码开关一致)。
S7-200PLC MUDBUS从站通信
S7-200 MODBUS RTU 从站通讯CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为ModbusRTU从站。
此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
如果想在S7-200 CPU之间、或者其他支持Modbus RTU的设备使用Modbus RTU 协议通信,需要由有S7-200CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP7-Micro/WIN32 V3.2 Instruction Library(指令库)。
ModbusRTU 功能是通过指令库中预先编好的程序功能块实现的。
ModbusRTU从站指令库只支持CPU上的通信0口(Port0)。
基本步骤:1.检查Micro/WIN的软件版本,应当是STEP7-Micro/WIN V3.2以上版本。
2.检查Micro/WIN的指令树中是否存在ModbusRTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
如果没有,须安装Micro/WIN32V3.2的Instruction Library(指令库)软件包;图1. 指令树中的库指令3.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;图2. 调用Modbus RTU通信指令库图中参数意义如下:1.模式选择:启动/停止Modbus,1=启动;0=停止2.从站地址:Modbus从站地址,取值1~2473.波特率:可选1200,2400,4800,9600,19200,38400,57600,1152004.奇偶校验:0=无校验;1=奇校验;2=偶校验5.延时:附加字符间延时,缺省值为06.最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为1287.最大AI字数:参与通信的最大AI通道数,可为16或328.最大保持寄存器区:参与通信的V存储区字(VW)9.保持寄存器区起始地址:以&VBx指定(间接寻址方式)10.初始化完成标志:成功初始化后置111.初始化错误代码12.Modbus执行:通信中时置1,无 Modbus 通信活动时为 0。
s7的200 300 冗余400与第三方dcs的modbus通讯
s7的200 300 冗余400与第三方dcs的
modbus通讯
有个项目,现有一个s7-200(cpu为224,只有一个通讯接口且已被占用),一个s7-200(cpu为226,两个通讯端口,port0空闲,port1占用),另外一个s7-300的cpu为315-2pn/dp (两个以太网口未用),还有一套s7-400h系统(cpu为414-7h)。
现在想与第三方dcs进行modbus通讯,是否需要增加什么硬件和通讯线?另外如何写发送数据的程序?
问题补充:
能提供一下,关于这几个plc和dcs通讯的例子?
最佳答案
1、s7-200(cpu为224,只有一个通讯接口且已被占用),增加一个em277模块,将目前与cpu通讯的设备转到em277上,然后用cpu的通讯口进行modbus通讯。
如果不改变现有通讯方式,只能加cp243将数据先传给s7-300,然后再进行modbus通讯。
2、s7-200(cpu为226,两个通讯端口,port0空闲,port1占用),可以直接用空闲的通讯口进行modbus通讯。
3、s7-300的cpu为315-2pn/dp(两个以太网口未用),增加cp341(带modbus硬件狗),进行modbus通讯。
4、s7-400h系统(cpu为414-7h),在et200m上增加cp341(带modbus硬件狗),进行modbus通讯。
西门子s7_200 modbus通信协议和支持modbusrtu协议的电磁流量计、超声波流量计的通信实例
西门子s7_200 modbus通信协议和支持modbusrtu协议的电磁流量计、超声波流量计的通信实例.西门子S7_200 MODBUS通信协议和支持MODBUS RTU协议的电磁流量计、超声波流量计的通信实例S7_200系列PLC有一个通信口的也有两个通信口的,这两个口都支持MODBUS 通信协议,不过要添加MODBUS库文件(SP6版本的step7 micro/win 软件自带有MODBUS库文件)。
下面根据具体的项目来说明MODBUS的使用:在项目中要采集进水流量的瞬时流量、日累计、月累计、年累计量,流量计本身有4~20mA信号输出和脉冲信号输出,这些输出信号都是瞬时量,只能转换为瞬时流量,而累积量就要通过编写程序来累加,而且信号的传输衰减和计算过程产生的误差就会造成和实际的流量相差很多,现在很多的流量计(包括其他的测量设备)都设计有通讯口,尤其是支持MODBUS协议,所以首选通信方式采集数据,这样可以直接读取我们想要的数据,只需做稍微的数据转换就可以的,同时也减小了工作量提高准确性(实际是按照流量收取费用的)。
实际的硬件连接:10套s7-200组成PPI网络(其中一个200站做主站),有一个从站要采集两个不同厂家的流量计的相关信息。
PPI网络层已经用去了一个端口0,还剩下一个端口1,那么就用这个端口并设置为自由口协议,在程序中调用MODBUS程序块并填写好必要的信息就可以了(其实调用MODBUS程序块时,程序块内就已经设置好端口为自由口协议了)。
图1.MODBUS库文件....图2.控制指令图3.控制指令这里MBUS_CTRL_P1指令要一直调用,有一点要指明:图2中的程序是读取其中一台流量计的,图..3是读取另一台流量计的,这两个流量计是不一样的。
这里最重要的是MBUS_MSG_P1指令中地址“Addr”的填写,其实这里要填写Modbus从站的寄存器地址(该地址内有我们需要的信息),那么这个地址要怎么填写呢,填写多少呢,这就要查看从站设备(这里是流量计)的“通信手册”了,因为每个厂家的设备都不一样,所以相同信息的寄存器地址也不一样。
S7-200实现MODBUS通讯
S7-200实现MODBUS通讯在EVIEW触摸屏和S7-200 CPU之间建立一个简单的Modbus 主-从通讯。
在S7-200控制系统应用中,Modbus R TU从站指令库只支持CPU上的通讯0口(Port0)。
要实现Modbus R TU通讯,需要Step7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装Step7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
一、基本过程如下:(一)使用Step7-Micro/WIN V3.2以上版本。
(二)安装Micro/WIN32 V3.2 Instruction Library(指令库)软件包,Micro/WIN的指令树中如图1所示。
图1(三)编程使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
1、MBUS_INIT指令(初始化从站)MBUS_INIT指令使能和初始化或禁止Modbus通讯,MBUS_INIT指令必须无错误的执行,才能够使用MBUS_SLAVE指令。
2、MBUS_SLAVE指令MBUS_SLAVE指令用于服务Modbus主站的请求,必须在每个循环周期都执行,以便检查和响应Modbus请求。
编程如图2所示,图2二、注意事项(一)调用Step7-Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(Library Memory)。
库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。
如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。
选重目录树中的程序块,选择右键菜单里的库存储区,设置如图3所示;(二)由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在S7-200 CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通讯(其中及可能造成Error的值为10(从属功能未启用))。
S7-200SMART MODBUS通信介绍与实例编程
S7-200SMART MODBUS通信介绍与实例编程西门子smart200PLC的详细结构图一. 西门子S7-200 SMART作为modbus从站1.检查Micro/WIN SMART Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT 和MBUS_SLAVE两个子程序。
西门子smart200的modbus从站库文件图1. 指令树中的库指令2.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;西门子smart200的modbus从站详细分析图2.调用Modbus RTU通信指令库图中参数意义如下:a.模式选择:启动/停止Modbus,1=启动;0=停止b.从站地址:Modbus从站地址,取值1~247c.波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d.奇偶校验:0=无校验;1=奇校验;2=偶校验e.端口:0=CPU中集成的 RS-485,1=可选信号板上的RS-485 或 RS-232。
f.延时:附加字符间延时,缺省值为0g.最大I/Q位:参与通信的最大I/O点数,S7-200 SMART 的I/O映像区为256/256(目前只能最多连接4个扩展模块,因此目前最多I/O点数为188/188)h.最大AI字数:参与通信的最大AI通道数,最多56个i.最大保持寄存器区:参与通信的V存储区字(VW)j.保持寄存器区起始地址:以&VBx指定(间接寻址方式)k.初始化完成标志:成功初始化后置1l.初始化错误代码m.Modbus执行:通信中时置1,无 Modbus 通信活动时为 0。
n.错误代码:0=无错误3.在CPU的V数据区中分配库指令数据区(Library Memory)Modbus Slave 指令库需要一个781个字节的全局 V 存储区。
西门子400与200SMARTS7通信及GETPUT指令
S7-400描述简要描述SFB 14读数据单边编程读访问SFB 15写数据单边编程写访问西门⼦400与200SMARTS7通信及GETPUT指令在200-SMART侧⽆需编写收、发程序。
只需要将读写的字节连续规划在V区即可。
程序由S7-400侧编程调⽤PUT/GET指令。
⾸先,是硬件组⽹。
在程序编写之前,需要先将400与200-SMART之间的通讯线路建⽴好。
在NetPro⽹络组态⾥为CPU新插⼊⼀条S7连接。
站点选择 “未知” ,选择通讯协议 “S7 连接” ,点击应⽤。
在弹出的对话框中,先记住 “块参数” 栏⾥的 “本地ID” ,编程要⽤到这个ID。
然后勾选 “建⽴主动连接” ,设置伙伴的 “地址” (200-SMART的 IP 地址),再点开右下⾓的 “地址详细信息” 。
在弹出来的对话框设置伙伴的插槽为 “1” ,因为200-SMART没有插槽的概念,所以默认为1,确认即可最后再保存-->编译-->下载后即可完成组⽹。
程序部分400中使⽤ SFB14 和 SFB15 实现数据交换。
GET指令⽤法:REQ:上升沿触发的启动信号,BOOL类型。
不需要⼀直给电平信号。
ID:就是刚刚组⽹时⽤的 “本地ID” ,WORD类型。
ADDR_1:指向伙伴CPU读取区域的指针,ANY指针类型。
开头加上 “P#” ,代表指针。
由于200-SMART没有DB块的概念,所以默认DB1为200-SMART的V 区,笔者的PLC 400⾥没有⽤到DB1块,不知道有没有影响。
“BYTE 6” 指从指针位置开始连续读取6字节。
RD_1:指向本地CPU读取区域的指针,⽤法同上。
“RD_1” 和 “ADDR_1” 的读取长度要⼀致。
NDR:BOOL类型。
为1时,代表接收数据成功。
ERROR:BOOL类型。
为1时,代表有故障发⽣。
有问题时看它的值。
STATUS:故障代码,WORD类型。
有问题时看它和ERROR的值,然后查⼿册看代码⽰意。
精通S7-200与MM420之间USS通讯
精通S7-200与MM420之间USS通讯1、MM 440 通信端口2、安装指令库3、编写通讯程序,编译下载程序EN:使用SM0.0 使能USS_CTRL 指令RUN:驱动装置的启动/停止控制0 停止1 运行此停车是按照驱动装置中设置的斜坡减速指电机停止OFF2:停车信号2。
此信号为“1"时,驱动装置将封锁主回路输出,电机自由停车OFF3:停车信号3。
此信号为”1"时,驱动装置将快速停车F_ACK:故障确认。
当驱动装置发生故障后,将通过状态字向USS 主站报告;如果造成故障的原因排除,可以使用此输入端清除驱动装置的报警状态,即复位。
注意这是针对驱动装置的操作。
DIR:电机运转方向控制。
其“0/1”状态决定运行方向Drive:驱动装置在USS 网络上的站号。
从站必须先在初始化时激活才能进行控制Type:向USS_CTRL 功能块指示驱动装置类型Speed_SP:速度设定值。
速度设定值必须是一个实数,给出的数值是变频器的频率范围百分比还是绝对的频率值取决于变频器中的参数设置(如MM 440 的P2009)Resp_R:从站应答确认信号。
主站从USS 从站收到有效的数据后,此位将为“1"一个程序扫描周期,表明以下的所有数据都是最新的Error:错误代码。
0 = 无出错。
其他错误代码请参考Status:驱动装置的状态字。
此状态字直接来自驱动装置的状态字,表示了当时的实际运行状态SHAPE \* MERGEFORMAT 详细的状态字信息意义请参考相应的驱动装置手册。
Speed:驱动装置返回的实际运转速度值,实数。
是否频率值跟随设定值的规格化设定Run_EN:运行模式反馈,表示驱动装置是运行(为1)还是停止(为0)D_Dir:指示驱动装置的运转方向,反馈信号Inhibit:驱动装置禁止状态指示(0 - 未禁止,1 - 禁止状态)。
禁止状态下驱动装置无法运行。
要清除禁止状态,故障位必须复位,并且RUN, OFF2 和OFF3 都为0Fault:故障指示位(0 - 无故障,1 - 有故障)。
(整理)PLC_S7-200与变频器MM440的USS通信.
PLC S7-200与变频器MM440的USS通信
1、224与mm420的通信,使用step7 进行编程,首先应把uss库添加到step7中,添加库的方法也很简单,在文件菜单选项选择添加/删除库,弹出小窗口向上返回到上一级目录,在standard libs里找到uss库,然后逐个添加,如果出现了错误提示,没办法添加,则需要到注册表把tool bax 删去即可,具体步骤是:“开始‘→→”运行“‘→→”regedit"‘→→"HKEY_LOCAL_MACHINE"‘→→“software"‘→→"siemens"‘→→"micro systems"‘→→"common"把里面的”toolbox"删去即可。
2、进行编程如果编译失败出现错误提示“未为库分配V存储区,~~~~~~~~”解决方法是:程序块‘→→右击‘→→库存储区‘→→建议地址。
附上部分过程截图::。
MM440变频器与S7-200PLC实现
MM440变频器与S7-200PLC实现USS通讯需要设置的参数(2010/11/21 18:32)目录:公司动态浏览字体:大中小MM440与S7-200PLC实现USS通讯需要设置的参数参数集是对驱动装置进行调试和控制的基础,几乎所有的功能都需要对驱动装置的内部参数进行访问、设定和修改。
西门子驱动装置的参数功能更为突出,庞大繁多的参数选项,保证了西门子产品的高性能应用和极高的定制能力。
驱动装置的调试和控制都依赖于对参数的设置,与S7-200 配合使用时也不例外。
一个实际的项目,往往把驱动装置和自动控制器(PLC)分为两个相对独立、又有联系的子系统,它们的调试也一般也可以分开进行。
这样做不但可以提高效率,而且能够保证控制关系清晰明了。
对于S7-200 与西门子驱动装置配合的项目,我们建议分为三个阶段调试:驱动装置和 PLC 相对独立,调试各自的基本功能;调试出驱动装置和 PLC 之间相互控制、反馈功能;进行整个系统的综合调试,达成一个完整的控制任务。
驱动装置的基本调试相对比较独立,最好能够在尝试与控制器连接之前完成。
具体驱动装置的调试请参考相关产品的操作手册等资料。
我们假定已经完成了驱动装置的基本参数设置和调试(如电机参数辨识等等),以下只涉及与S7-200 控制器连接相关的参数。
MM440 的参数分为几个访问级别,以便于过滤不需要查看的部分。
与S7-200 连接时,需要设置的主要有“控制源”和“设定源”两组参数。
要设置此类参数,需要“专家”参数访问级别,即首先需要把 P0003 参数设置为 3。
控制源参数设置控制命令控制驱动装置的启动、停止、正/反转等功能。
控制源参数设置决定了驱动装置从何种途径接受控制信号。
控制源由参数 P0700 设置:表 1. 控制源参数此参数有分组,在此仅设第一组,即 P0700[0]。
设定源控制参数设定值控制驱动装置的转速/频率等功能。
设定源参数决定了驱动装置从哪里接受设定值(即给定)。
S7-200-MODBUS通讯
1,根据查询到的资料,P1口只能做主站,P0口既可做主站,也可以做从站2,安装好的S7-200编程软件一般是不带库的,所以需要从网上下载MODBUS库,然后才能做Modbus通讯的子站,压缩包直接点安装后,库文件就安装到了编程软件里面了3,P1口不能做从站4,西门子S7200做Modbus从站需要使用MBUS_INIT、MBUS_SLAVE即可。
MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。
在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令。
指令完成后立即设定"完成"位,才能继续执行下一条指令。
在每次扫描且EN输入打开时执行该指令。
应当在每次通讯状态改变时执行MBUS_INIT指令。
因此,EN输入应当通过一个边缘检测元素用脉冲打开,或者仅在首次扫描时执行。
"模式"输入数值选择通讯协议:输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0指定给PPI,并禁用Modbus协议。
"波特"参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200。
"地址"参数将地址设为1和247之间(包括1和247)的数值。
"校验"参数被设为与Modbus主设备校验相匹配。
可承受的数值为:*0-无校验*1-奇数校验*2-偶数校验"时延"参数通过将指定的毫秒数增加至标准Modbus信息超时的方法延长标准Modbus信息完毕超时条件。
该参数的典型数值在有线网络上应为0。
如果您在使用带有纠错功能的调制解调器,将时延设为50至100毫秒的数值。
如果您在使用扩展频谱无线电,将时延设为10至100毫秒的数值。
"时延"数值可以是0至32767毫秒。
MaxIQ参数将供Modbus地址00####和01####使用的I和Q点数设为0至128之间的数值。
S7-400与s7-200如何通讯
西门子S7-400,S7-300与S7-200的EM277之间的PROFIBUS-DP通讯圈子类别:PLC (未知) 2009-4-25 11:00:00[我要评论] [加入收藏] [加入圈子]西门子S7-400,S7-300与S7-200的EM277之间的PROFIBUS-DP通讯:西门子S7-400,S7-300PLC可以通过PROFIBUS-DP方式与S7-200的EM277进行通讯。
本文例子是一台CPU315-2DP作为PROFIBUS-DP通讯的主站,S7-200的EM277作为PROFIBUS-DP通讯的智能从站进行通讯。
S7-300与S7-200通过EM277进行PROFIBUS-DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V存储区与S7-300的组态EM277从站时的硬件I/O地址相对应就可以了。
1. 新建项目:在STEP7中创建一个新项目,点击右键,在弹出的菜单中选择“Insert New Object”→“SIMATIC 300 Station”,插入S7-300站。
2. 双击“Hardware”选项,进入“HW Config”窗口。
点击“Catalog”图标打开硬件目录,按硬件安装次序和订货号依次插入机架、电源、CPU等进行硬件组态。
插入CPU时会同时弹出PROFIBUS组态界面。
点击“New”按钮新建PROFIBUS(1),组态PROFIBUS 站地址,本例中为2。
点击“Properties”按钮组态网络属性,选择“Network Setings”进行网络参数设置,在本例中设置PROFIBUS的传输速率为“1.5Mbit/s”,行规为“DP”。
点击“OK”按钮确认,出现PROFIBUS网络。
3. 选中菜单“Option”→“Install New GSD...”,导入SIEM089D.GSD文件,安装EM277从站配置文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MM400系列的方式来做呀!
1.Modbus RTU主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port0和Port1有效。
该指令库将设置通信口工作在自由口模式下。
2.Modbus RTU主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。
3.Modbus RTU主站库对CPU的版本有要求。
CPU的版本必须为2.00或者2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200CPU不支持。
使用Modbus RTU主站指令库,可以读写Modbus RTU从站的数字量、模拟量I/O以及保持寄存器。
要使用Modbus RTU主站指令库,须遵循下列步骤:
安装西门子标准指令库
按照要求编写用户程序调用Modubs RTU主站指令库
Modbus RTU主站功能编程
1.调用Modbus RTU主站初始化和控制子程序
使用SM0.0调用MBUS_CTRL完成主站的初始化,并启动其功能控制:
用SM0.0调用Modbus RTU主站初始化与控制子程序
各参数意义如下:
a.EN使能:必须保证每一扫描周期都被使能(使用SM0.0)
b.Mode模式:为1时,使能Modbus协议功能;为0时恢复为系统PPI协议
c.Baud波特率:支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200。
d.Parity校验:校验方式选择
0=无校验
1=奇较验
2=偶较验
e.Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为1-32767。
注意:这个值必须设置足够大以保证从站有时间响应。
f.Done完成位:初始化完成,此位会自动置1。
可以用该位启动MBUS_MSG读写操作(见例程)
g.Error初始化错误代码(只有在Done位为1时有效):
0=无错误
1=校验选择非法
2=波特率选择非法
3=模式选择非法
2.调用Modbus RTU主站读写子程序MBUS_MSG,发送一个Modbus请求;
调用Modbus RTU主站读写子程序
各参数意义如下:
a.EN使能:同一时刻只能有一个读写功能(即MBUS_MSG)使能
注意:建议每一个读写功能(即MBUS_MSG)都用上一个MBUS_MSG指令的Done 完成位来激活,以保证所有读写指令循环进行(见例程)。
b.First读写请求位:每一个新的读写请求必须使用脉冲触发
c.Slave从站地址:可选择的范围1-247
d.RW从站地址:0=读,1=写
注意:
1.开关量输出和保持寄存器支持读和写功能
2.开关量输入和模拟量输入只支持读功能
e.Addr读写从站的选择读写的数据类型
数据地址:00001至0xxxx-开关量输出
10001至1xxxx-开关量输入
30001至3xxxx-模拟量输入
40001至4xxxx-保持寄存器
f.Count数据个数通讯的数据个数(位或字的个数)
注意:Modbus主站可读/写的最大数据量为120个字(是指每一个MBUS_MSG指令)
g.DataPtr数据指针:1.如果是读指令,读回的数据放到这个数据区中
2.如果是写指令,要写出的数据放到这个数据区中
h.Done完成位读写功能完成位
i.Error错误代码:只有在Done位为1时,错误代码才有效
0=无错误
1=响应校验错误
2=未用
3=接收超时(从站无响应)
4=请求参数错误(slave address,Modbus address,count,RW)
5=Modbus/自由口未使能
6=Modbus正在忙于其它请求
7=响应错误(响应不是请求的操作)
8=响应CRC校验和错误
-
101=从站不支持请求的功能
102=从站不支持数据地址
103=从站不支持此种数据类型
104=从站设备故障
105=从站接受了信息,但是响应被延迟
106=从站忙,拒绝了该信息
107=从站拒绝了信息
108=从站存储器奇偶错误
常见的错误:
如果多个MBUS_MSG指令同时使能会造成6号错误
从站delay参数设的时间过长会造成主站3号错误
从站掉电或不运行,网络故障都会造成主站3号错误
3.在CPU的V数据区中为库指令分配存储区(Library Memory)
Modbus Master指令库需要一个284个字节的全局V存储区。
参考:分配库指令数据区
关于Modbus RTU主站协议库的补充说明
此为西门子正式推出的标准库指令说明资料。
在Modbus RTU Master协议和PPI协议之间切换:
Modbus RTU Master协议指令库使通信口工作在自由口模式下,此时不能与Micro/WIN软件通信。
要在切换回PPI协议,可以:
将MBUS_CTRL指令的Mode输入端设置为逻辑“0”
将CPU的允许模式选择开关置为STOP位置
Modbus RTU Master协议库的执行时间:
Modbus RTU Master协议库的MBUS_CTRL指令不需要很长的执行时间。
MBUS_需要1.11ms用于初始化,在后续的每个扫描周期中只占用0.41ms。
调用MBUS_MSG子程序会加长处理时间。
大部分时间都用于CRC校验的计算。
每读、写一个字的数据就需要1.85ms扫描时间。
数据最多的情况下(读、写120字的数据),扫描时间大概会扩增加222ms。
读操作的时间主要消耗在接收数据上;写操作的时间主要消耗在发送数据上。
Modbus地址
通常Modbus地址由5位数字组成,包括起始的数据类型代号,以及后面的偏移地址。
Modbus Master协议库把标准的Modbus地址映射为所谓Modbus功能号,读写从站的数据。
Modbus Master协议库支持如下地址:
00001-09999:数字量输出(线圈)
10001-19999:数字量输入(触点)
30001-39999:输入数据寄存器(通常为模拟量输入)
40001-49999:数据保持寄存器
Modbus Master协议库支持的功能
为了支持上述Modbus地址的读写,Modbus Master协议库需要从站支持下列功能:
表1.需要从站支持的功能
Modbus地址读/写Modbus从站须支持的功能
00001-09999
数字量输出读功能1
写功能5:写单输出点
功能15:写多输出点
10001-19999
数字量输入读功能2
写-
30001-39999
输入寄存器
读功能4
写-
40001-49999
保持寄存器读功能3
写功能6:写单寄存器单元
功能16:写多寄存器单元
Modbus地址和S7-200存储区地址的映射
S7-200通过Modbus Master和Slave协议库通信时,Modbus地址和S7-200内存储区地址的映射关系都类似。
Modbus保持寄存器地址映射举例:
Modbus S7-200S7-200
保持寄存器地址存储区字寻址存储区字节寻址
400011234VW2001234VB20012
VB20134
400025678VW2025678VB20256
VB20378
400039A BC VW2049A BC VB2049A
VB205BC
Modbus数字量地址映射举例:
位地址(0xxxx和1xxxx)数据总是以字节为单位打包读写。
第一个字节中的最低有效位对应Modbus地址的起始地址。
如下图所示:
VX.0----10001
VX.1----10002
VX.2----10003
VX.3----10004
VX.4----10005
VX.5----10006
VX.6----10007
VX.7----10008
Modbus RTU主站例程
为了更好地理解Modbus主站的编程,可参考下面的例程。
注意:
1.该例程使用Micro/WIN V4.0SP5保存。
2.该例程仅访问一个从站,若访问不同的从站,可通过改变从站地址来实现。
注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。
使用该软件的风险完全由用户自行承担。
由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。