西门子SCL读写DB数据
数据块间接寻址方式,仅供参考。
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
西门子SCL读写DB数据的更多相关文章
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
- 营销MM让我讲MySQL日志顺序读写及数据文件随机读写原理
摘要:你知道吗,MySQL在实际工作时候的两种数据读写机制? 本文分享自华为云社区<MySQL日志顺序读写及数据文件随机读写原理>,作者:JavaEdge . MySQL在实际工作时候的两 ...
- IO流-文本IO\读写二进制数据
文本IO 一.简述 OutputStreamWriter类使用选定的编码方式吧Unicode字符流转换为字节流,InputStreamReader类将包含字节的输入流转为可以产生Unicode字符的读 ...
- Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式
Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式 P703 Linux读写内存数据的三种方式 1.read ,write方式会在用户空间和内核空间不断拷贝数据, ...
- [Java] 读写字节数据,过滤流DataOutputStream和DataInputStream
package test.stream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io ...
- [Java] 读写字符串数据
package test.stream; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- 【转】 Linux内核中读写文件数据的方法--不错
原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大 ...
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...
随机推荐
- qtp中type方法的按键常量
记录键盘操作可以用set和presskey方法,而type方法是不记录的.type方法主要用于输入连接文本字符串和键盘修饰键(组合键),组合键之间用&符号. 如:JavaWindow(&quo ...
- 常见Python脚本
---恢复内容开始--- 1.请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2019-04-26.log, 并且把磁盘的使用情况写到到这个文件中. import t ...
- 杨力第一次jjave作业
感觉jave学起来比c语言难一点,格式要求较高,有更多的东西要记,但是只要认真学应该不是很难,自己应该多写程序.
- ng-packagr 不能全部打包文件
1.没有在public_api.ts中导出 export * from './src/app/ngprime/components/tooltip/tooltip.module'; export * ...
- CentOS 7系统上制作Clonezilla(再生龙)启动U盘并克隆双系统
笔记本安装的是双系统:Win7 64位,CentOS 7 64位. 政采就是个巨大的坑,笔记本标配的是5400转的机械硬盘,开机时间常常要一至两分钟,软件运行起来时各种数据的读写也非常慢,忍无可忍,决 ...
- vue中computed、metfods、watch的区别
一.computed和methods 我们可以将同一函数定义为一个 method 或者一个计算属性.对于最终的结果,两种方式确实是相同的. 不同的是computed计算属性是基于它们的依赖进行缓存的. ...
- 数据库SQL优化大总结1之- 百万级数据库优化方案
转载自:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/72875054
- S2T40,第四章,简答5
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 不同版本的IDE ,对应的选项 有变化
xx.dproj对应的项目级选项 也不同,所以,要分别保存为不同的文件. 如果不同的IDE,打开同一个 .dproj文件,会因为 选项界面的选项不同,提示一些错误.
- javeEE第五周
一.定义 AndXML”(异步Javascript和XML),是指一种创建交互式网页应用的网页开发技术.AJAX = 异步JavaScript和XML(通用标记语言的子集),是一种用于创建快速动态网页 ...