数据块间接寻址方式,仅供参考。

STATUS_1:= DB11.DW[COUNTER]; //字节间接寻址
STATUS_2:= DB12.DX[WNO, BITNO]; //位间接寻址,用户改变WNO,BITNO数值即可
STATUS_1:= Database1.DW[COUNTER]; // Database1为DB类型的本地变量
STATUS_2:= Database2.DX[WNO, BITNO];
STATUS_1:= WORD_TO_BLOCK_DB(INDEX).DW[COUNTER];
//INDEX被定义为 BLOCK_DB 数据类型,COUNTER为整数数据类型,这样可以实现/数据块编号,
字节地址同时间接寻址,此功能是一种功能很强间接寻址方式。

数据块直接寻址方式,仅供参考。

STATUSBYTE :=DB101.DB10; //字节直接寻址格式
STATUS_3 :=DB30.D1.1; //位直接寻址格式
MEASVAL :=DB25.DW20; //字直接寻址格式
STATUSBYTE :=Status_data.DB10;
STATUS_3 :="New data".D1.1;
MEASVAL :=Measdata.DW20;
STATUS_1 :=WORD_TO_BLOCK_DB (INDEX).DW10;

BLOCK_DB类型使用。

1. copy the individual variables:
In this case every variable is read one by one from the user data blocks. The addressing in the data blocks is
absolutely. This is particularly suitable for small amounts of data.
1. Kopieren der einzelnen Variablen:
In diesem Fall wird jede Variable einzeln aus dem Anwenderdatenbaustein gelesen. Die Adressierung im
Datenbaustein erfolgt absolut. Dies ist besonders für kleine Datenmengen geeignet.
addressing with Block-number / Adressierung über DB-Nummer
FUNCTION_BLOCK FB1
VAR_INPUT
DB_NO : BLOCK_DB; //Number of the Data-Block / DB-Nummer先声明一个BLOCK_DB类型
END_VAR
VAR
S : STRUCT
// internal structure / interne Struktur
VALUE1 : WORD;
VALUE2 : REAL;
VALUE3 : BYTE;
VALUE4 : BYTE;
END_STRUCT;
END_VAR
S.VALUE1 := DB_NO.DW8;//对于WORD类型的,直接这样访问即可
S.VALUE2 := DWORD_TO_REAL(DB_NO.DD10);//对于其它类型的数据,由于DB_N0的块号不定,
//系统不知道DD10是什么数据类型,前边要用双字转成实数类型的语句,不能直接用DB_NO.xxx访问,
//否则会报无效的数据类型
S.VALUE3 := DB_NO.DBB14 ;
S.VALUE4 := DB_NO.DBB15;
END_FUNCTION_BLOCK
addressing with Any-pointer / Adressierung über Any-Pointer
FUNCTION_BLOCK FB2
VAR_INPUT
DB_ANY : ANY; // Any-Pointer of the Data-Block / Any-pointer für DB
AnyPointer AT DB_ANY: STRUCT
BYTE0 :BYTE; // Byte 0
TYP :BYTE; // Byte 1 Data-/Parametertype / Byte 1 Daten- / Parametertyp
ANZ :WORD; // Byte 2+3 Lenth of data / Byte 2-3 Datenlnge
DBNO :WORD; // Byte 4+5 DB-Number / Byte 4+5 DB-Nummer
BZ :DWORD; // Byte 6 to 10 Pointer / Byte 6 bis 10 Bereichszeiger
END_STRUCT;
END_VAR
VAR
S : STRUCT
//internal stucture / interne Struktur
VALUE1 : WORD;
VALUE2 : REAL;
VALUE3 : BYTE;
VALUE4 : BYTE;
END_STRUCT;
END_VAR
S.VALUE1 := WORD_TO_BLOCK_DB(AnyPointer.DBNO).DW8;
S.VALUE2 := DWORD_TO_REAL(WORD_TO_BLOCK_DB(AnyPointer.DBNO).DD10);
S.VALUE3 := WORD_TO_BLOCK_DB(AnyPointer.DBNO).DBB14 ;

http://www.360doc.com/content/12/0505/13/7023119_208807550.shtml

转载于:https://www.cnblogs.com/minecity/p/10276017.html

西门子SCL读写DB数据相关推荐

  1. 西门子1500的DB数据块

    首先了解DB数据块的含义,然后举个简单例子,加以分析.  1.首先我建立了DB数据块,DB数据块分为绝对寻址与间接寻址 根据DB数据块的属性可以进行切换,如下图 若没有选择优化块的访问就是绝对寻址,若 ...

  2. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址

    西门子博图软件在DB数据块的属性中默认数据块为"优化访问的数据块",数据块中可以看到变量名称符号,而看不到分配在块中的固定地址,如下图所示: 如何查看西门子博图软件DB数据块中的变 ...

  3. 西门子scl语言编程手册_西门子SCL编程PEEK指令讲解

    单词"peek"在英语中表示"偷看,瞥一眼",在计算机编程中表示"读取数据". 在西门子SCL编程中,PEEK指令可以用来读取输入缓存区(I ...

  4. 【原创】西门子SCL语言编程 之 多重背景

    最近把西门子SCL编程语言从头到尾学了一遍,发现SCL作为PLC中的高级语言,比T型图和语句表使用起来方便多了,特别适合复杂的算法.使用SCL语言编程,小盒子已经完成有关工艺文件的加载和执行.模拟量采 ...

  5. 【MapReduce】MapReduce读写MySQL数据

    MapReduce读写MySQL数据 数据 代码实现 自定义类来接收源数据 自定义类型来存储结果数据 Mapper阶段 Reducer阶段 Driver阶段 上传运行 打包 上传集群运行 使用MapR ...

  6. 多线程读写大量数据到excel

    ↵起因是这样的,用户要下载对账单明细,也就是交易明细,我们公司的数据库的设计是,一天一张表,类似于trace_20190708,trace_20190709  .......  这样的类型,所以设计生 ...

  7. 西门子SCL常用控制语句解析

    西门子SCL常用控制语句解析 指令 SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同.只有一些指令使用是不太一样的甚至LAD/ ...

  8. matlab生成西门子plc源文件,西门子PLC把DB快做成源文件步骤

    西门子PLC把DB快做成源文件步骤 打开db块后在菜单option下面有个customize,弹出的点选项sources那里就可以找到生成源文件的按钮. 还原---源文件是保存在sources下面,你 ...

  9. 配方查询系统 采用西门子SCL语言编写

    配方查询系统 采用西门子SCL语言编写. 硬件:S7-1214和TP700触摸屏. 程序支持20组配方存储(取决存储区大小). 实现过程 外部扫码枪或扫码器提供扫码数据 配方中有:直接调出配方中存储的 ...

最新文章

  1. jQuery JavaScript库达到新的里程碑
  2. 对网络体系变革的思考
  3. Microsoft Security Essential: 微软安全软件
  4. Linux下ftp+ssl实现ftps
  5. 工欲善其事必先利其器,一款开源编码辅助工具~
  6. linux 总数 进程_linux性能监控之 top 家族(1)
  7. Python学习:字典
  8. 图的遍历(Java)构造器
  9. mysql 建表时建立索引_mysql 分享建表和索引的几点规范
  10. golang sync.map
  11. ArcGIS的BLOB字段与Access数据库BLOB字段的交换
  12. 《面向对象程序设计》作业(四)
  13. 将hls生成的IP添加到vivado2018
  14. 人工智能原理与方法作业1
  15. aseprite手机版_Voxel像素画体素模型转拼豆图纸方法
  16. 哒哒租车系统(慕课网学习)
  17. 小程序进度条_【好玩的游戏大全】我的煎饼屋:好玩的摆摊微信小游戏小程序...
  18. MATLAB 剔除异常点
  19. 轻快的java_轻快的Java
  20. 《7天精通直播带货》运营型主播成长型,提升直播能力与技巧

热门文章

  1. 京东到家库存设计(分布式系统)笔记
  2. java 错失的信号学习笔记
  3. expr命令用法-实例讲解
  4. 【活动】想对大学的自己说……
  5. 资产管理软件的主要功能
  6. 苹果ttc转ttf_字体 – 将TTC字体转换或提取为TTF – 如何?
  7. 在word中添加mendeley插件
  8. 实用工具---各种工具安装使用
  9. 22届应届生入职华为OD一个半月,治好了我的精神内耗...
  10. Android开发之安全彻底的修改包名