工作笔记:西门子1500中DB2块数据传给DB1,然后将数据块传递给200smart,昆仑通态读取200smart数据记录

一个项目,需要在尽量少的修改原有西门子S7-1500的程序。如果你想将S7-1500的DB2的数据赋值给DB1,传送给S7-200smart ,可以使用以下步骤:

1. 确保DB块访问设置正确

为了能够通过偏移量访问DB块中的数据,需要将DB块的访问方式设置为非优化

步骤:

a. 打开DB块的属性设置

b. 取消勾选“优化块访问”选项,确保块访问是非优化的。

c.注意修改后的DB块要编译

2、 在OB1中调用`POKE_BLK`指令。 

 2. 使用`POKE_BLK`指令进行数据块间的数据传递,包括从一个DB块向另一个DB块传递数据。这里直接复制写好的程序,下次好用。

//  位置数字 将数据块DB18中字节6传给DB1中的字节7 ,共1个字节 ,这个指令只能传递整个字节
POKE_BLK(area_src:= 16#84,
         dbNumber_src:=18,
         byteOffset_src:=6,
         area_dest:=16#84,
         dbNumber_dest:=1,
         byteOffset_dest:=7,
         count:=1);

//转发去向数字,临时去向数字  将DB20中的字节2、3传递给DB1的字节10、11

POKE_BLK(area_src:=16#84,
         dbNumber_src:=20,
         byteOffset_src:=2,
         area_dest:=16#84,
         dbNumber_dest:=1,
         byteOffset_dest:=10,
         count:=2);


3、在OB1中调用`POKE_BOOL`指令。想读几个BIT,就只能用BOOL了。

    // Put中8   将"8中通讯"."8中要罐"    传递给DB1.DBX22.0
POKE_BOOL(area:=16#84,
          dbNumber:=1,
          byteOffset:=22,
          bitOffset:=0,
          value:="8中通讯"."8中要罐");

    PEEK_BOOL(
        IN area : BYTE;        // 存储区域
        IN dbNumber : INT;     // 数据块号(如果区域是DB块)
        IN byteOffset : INT;   // 字节偏移量
        IN bitOffset : INT     // 位偏移量
    ) : BOOL;                  // 返回值类型

4、仔细观察昆仑通态中的数据格式和DB块的关系

5、在smart 中调用GET指令,用程序向导设置。

从DB1.DBB7 到DB1.DBB28一共22个字节,放在VB200依次地址中。最后一位是DB1.DBX28.2

在编程中一定要注意DB块地址,S7-200SMART地址,昆仑通态触摸屏地址,我在这里记录下来,年龄大了经常搞错。

 1、DB100.DBB0 一个字节有8个位,分别为0---7!例:0.0----0.7共8位。
2、DB100.DBW0一个字有两个字节,分别为 DB100.DBB0和 DB100.DBB1
3、DB100.DBD0一个双字有两个字,分别为 DB100.DBW0和 DB100.DBW2
4、DB100.DBX0.0 一个位,这是最小单位。
5、DBB0有八位:分别为dbx0.0-dbx0.7
6、DBB1有八位:分别为dbx1.0---dbx1.7

6、昆仑通态读取S7-200V区VW、VD和BOOL,从而成功实现了,昆仑通态直读博图改为间接读取博图数据。

7、Modbus-TCP通用父设备及其数据转发

实现原理是,数据转发作为作为子设备,从博图读取数据,其他多屏采用通用父设备读取子设备,在现场实验中,数据丢包严重,延迟较高。

以上就是这个项目的具体实践,成功解决了客户的问题,记录下来作为参考,具体程序看D盘工作文件夹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值