西门子PLC以太网通讯处理器使用指南
用于西门子S7-200/300/400PLC程序下载、联网通讯、远程监控。
BCNet-S7MPI的功能:
1、支持S7总线多主站网络通讯。
2、S7总线波特率自适应,自动查询S7总线上的主站地址,显示地址列表。
3、直接安装在PLC通讯口上,从通讯口获取电源(也可外接电源)。
4、支持西门子S7以太网通讯驱动,包括STEP7编程软件、WINCC监控组态软件以及SIMATIC NET等。
5、以太网端协议开放,用户可以采用语言编程(如VB、VC、C#等)实现与S7-300的数据通讯。
6、提供BCNetS7OPC服务器,无连接数、点数限制。
7、BCNetS7 DataExchange功能,通过简单的配置实现在两个PLC之间交换数据。
8、 集成ModbusTCP服务器,支持FC1、FC2、FC3、FC4、FC5、FC6、FC16,Modbus数据区自动映射至S7-300数据区。
9、 通过路由器可实现PLC的Internet远程编程和监控。
特色功能1:西门子驱动支持
BCNet-S7除支持TCP/IP驱动外,还支持3种驱动方式:
1、BCNetS7(PPI),PPI方式,用于S7200;
2、BCNetS7(MPI),MPI方式,用于S7300,S7400;
3、BCNetS7(DP) ,DP 方式,用于S7300,S7400;
特色功能2:BCNet-DX
通过简单的设置,实现PLC之间的数据交换:
特色功能3:modbusTCP通讯
Modbus TCP与西门子PLC数据地址对应关系
BCNet-S7PPI、BCNet-S7MPI内部集成ModbusTCP服务器,支持ModbusTCP通讯的客户机软件可以直接读写PLC的数据。实现功能号包括:FC1、FC2、FC3、FC4、FC5、FC6和FC16。
PLC的站地址为Modbus从站地址。
PLC的数据区和Modbus数据区在BCNet-S7PPI/MPI内部被自动映射,PLC内不需要编写通讯程序:
1. PLC的Q区对应Modbus的线圈,Q0.0对应00001。
2. PLC的I区对应Modbus的离散输入,I0.0对应10001。
3. PLC的M区对应Modbus的输入寄存器,MW0对应30001。
4. PLC的V区(DB区)对应Modbus的乘法寄存器,VW0对应40001。
地址计算公式如下:
1. Qm.n = 00001 + m*8 + n。
2. Im.n = 10001 + m*8 + n。
3. MWm= 30001 + m/2,m为偶数。
4. VWm = 40001 + m/2,m为偶数;DB1.DBWm = 40001 + m/2,m为偶数。
例如:地址:40040;对应S7200地址:VW78;
对应S7300地址: DB1.DBW78;
特色功能4:OPC服务器
提供免费的OPC服务器,没有连接数、点数限制;支持S7200,S7300,S7400
特色功能5:以太网TCP/IP协议开放
BCNetS7以太网通讯协议用于计算机通过TCP/IP协议和BCNet-S7PPI(或者BCNet-S7MPI)通讯来读写S7-200(S7-300)PLC数据。对于语言(VB、VC、C#等)可以通过调用Winsocket类库来实现通讯。 BCNetS7以太网通讯协议可通过BCNetPro软件进行测试。
特色功能6:InterNet远程访问
西门子PLC临时变量L使用指南
1、本地数据堆栈区L是局部变量,L变量仅在调用它的子程序中有效。不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。
2、不需要做初始化。
3 、局部变量解释:L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是第二个字节的第五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义.
4、全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。
5、使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据更快。
“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用
在S7-300CPU中,每一个优先级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的大数量为256B(字节),组织块OB自己占去20B或22B,还剩下多234B可分配给FC或FB。
如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The block could not be copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect local data length(不正确的局部数据长度)。
在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单bbbbbb Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local Data(局部数据))。
在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference Data(参考数据)/Display(显示),然后选择Program Structure(程序结构),即可在参考表中查看局部数据的占用情况。
梯形图(LAD)是一种图形语言,比较形象直观,容易掌握,是应用广泛的编程语言之一。梯形图与继电器控制电路图的表达方式极为相似,适于熟悉继电器控制电路的用户使用,特别适于数字量逻辑控制。有时把梯形图称为电路或程序。
梯形图沿用了传统控制图中继电器的触点、线圈、串并联等术语和图形符号,并增加了许多功能强、使用灵活、在继电器一接触器控制系统中没有的指令符号,梯形图与继电器一接触器控制系统图的形式及符号有许多相同或相仿的地方。梯形图按自上而下、从左到右的顺序排列,左边的竖线被称为起始母线,也叫左母线,然后按一定的控制要求和规则连接各个触点,后以线圈结束。一般在右边还加上一竖线,这一竖线被称为右母线。通常一个梯形图中有若干个网络(Network)(由触点和线圈等组成的独立电路称为网络)组成,编程软件自动为网络编号。以简单的电动机起/停控制为例,对应的梯形图程序如图(a)所示。
图 梯形图和语句表示例
梯形图由触点(常开触点“┤├”和常闭触点“┤/├”)、线圈(“一()”)或用方框表示的指令框组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑运算的结果,常用来控制外部的指示灯、交流接触器和内部的标志位等。梯形图中的线圈包括输出继电器线圈、辅助继电器线圈等。只有在线圈接通之后,才能使对应的逻辑常开或常闭触点动作。指令框用来表示定时器、计数器或数学运算等附加指令。
梯形图中的触点和线图可以使用物理地址,如10.0、Q0.3等。如果在符号表中对某些地址定义了符号。例如,10.0的符号为“启动”,在程序中可用符号地址“启动”来代替物理地址10.0,这样使程序易于阅读和理解。
在分析梯形图中的逻辑关系时,为了借用继电器控制电路图的分析方法,可以将梯形图左边的母线假想为电源“火线”,而把右边的母线假想为电源“零线”。如果有“能流”从左至右流向线圈,则线圈被激励;如果没有“能流”,则线圈未被激励。当图(a)中,10.0和10.1的触点同时接通或Q4.1与10.1的触点同时接通时,有一个假想的“能流”流过Q4.1的线圈。利用能流这一概念,可以帮助我们更好地理解和分析梯形图,能流只能从左向右流动。
要强调指出的是,引入“能流”的概念,仅仅是为了继电器一接触器控制系统相比较,以对梯形图有一个深入的认识,其实“能流”在梯形图中是不存在的。
如果没有跳转指令,在网络中,程序中的逻辑运算只能按自左至右的方向执行,与能流的方向一致。网络之间能够按自上而下的顺序执行,执行完所有的网络后,再从上面的网络(Network 1)重新开始执行下一循环。