1.any数据类型共10个字节,数据格式如下

2.Byte 0: 固定10h 表示S7

Byte 1:表示数据类型

Coding of the Data Types

Hexadecimal Code

Data Type

Description

b#16#00

NIL

Null pointer

b#16#01

BOOL

Bits

b#16#02

BYTE

Bytes (8 bits)

b#16#03

CHAR

Characters (8 bits)

b#16#04

WORD

Words (16 bits)

b#16#05

INT

Integers (16 bits)

B#16#06

DWORD

Words (32 bits)

b#16#07

DINT

Double integers (32 bits)

b#16#08

REAL

Floating-point numbers (32 bits)

b#16#09

DATE

Date

b#16#0A

TIME_OF_DAY (TOD)

Time of day

b#16#0B

TIME

Time

b#16#0C

S5TIME

Data type S5TIME

b#16#0E

DATE_AND_TIME (DT)

Date and time (64 bits)

b#16#13

STRING

String

Byte 2,3  /Word2:表示传送的数据长度,重复因子

Byte 4,5/Word3:表示DB块号或者为0

Byte 6:表示存储区域

Hexadecimal Code

Area

Description

b#16#80

P

I/O area

b#16#81

I

Input area

b#16#82

Q

Output area

b#16#83

M

Bit memory area

b#16#84

DB

Data block

b#16#85

DI

Instance data block

b#16#86

L

Local data (L stack)

b#16#87

V

Previous local data

DW6:存放偏移的起始地址

3.举例,从DB2002 拷贝 50字节长度的数据,共20组,到DB2003 对应的结构中

A     M   2001.0
      JCN   nop
      L     P#DBX 0.0                             //传送起始地址
      AD    DW#16#FFFFFF                
      T     #TEMPDW                             //这一步转成32位地址格式?
      L     0
      T     MW  2002
      L     20                          //循环复制的次数
      L     -1
      +I    
lop:  T     #loopcnt
      LAR1  P##SRC
      L     W#16#1002               //16#10 代表S7   16#02表示数据类型是 byte
      T     LW [AR1,P#0.0]        //将W#16#1002传给 any 的第一个字
      L     50                             //每次拷贝的  数据长度
      T     LW [AR1,P#2.0]       //传给 any 的第二个字
      L     2002                        //  DB 块号,传给 any 的第三个字
      T     LW [AR1,P#4.0]
      L     #loopcnt
//  L     -1
// +I    
      L     50
      *I    
      SLD   3
      L     #TEMPDW
      +D    
      T     LD [AR1,P#6.0]    //带拷贝的数据存储的起始地址

L     B#16#84
      T     LB [AR1,P#6.0]  //存储区是DB 块

LAR1  P##DEST
      L     W#16#1002
      T     LW [AR1,P#0.0]  // any 第一个字
      L     50                        //any 接收的数据长度
      T     LW [AR1,P#2.0]
      L     2003                  // any 接收的 DB块
      T     LW [AR1,P#4.0]
      L     #loopcnt

L     50
      *I    
      SLD   3                         //偏移量
      L     #TEMPDW
      +D    
      T     LD [AR1,P#6.0]   //any 接收的数据存储起始地址
      L     B#16#84
      T     LB [AR1,P#6.0]   //存储区域是DB块

CALL  "BLKMOV"
       SRCBLK :=#SRC
       RET_VAL:=#RetVal
       DSTBLK :=#DEST
      L     #RetVal

L     1
      L     MW  2002
      +I    
      T     MW  2002
      L     #loopcnt                            //开始下一次循环
      LOOP  lop
nop:  NOP   0

PLC STL any数据类型的更多相关文章

  1. 【OI】C++STL 不定长数组 vector

    Vector 本来是向量的意思,只不过在用法上类似于一个不限长度的数组. 定义语法:vector<数据类型> 名称; 一.头文件:<vector> (bits/stdc++请忽 ...

  2. stl中的map数据类型

    1.1 STL map 1.1.1 背景 关联容器使用键(key)来存储访问读取元素,而顺序容器则通过元素在容器中的位置存储和访问元素. 常见的顺序容器有:vector.list.deque.stac ...

  3. C++学习笔记(六):复杂数据类型(string、容器和STL)

    STL 即Standard Template Library(标准模板库),由于C++自带的数据类型过于简单,并不能满足我们的使用需要,而STL作为C++标准的内置库为我们编写好了多种高效的数据结构和 ...

  4. PLC 数据类型

    类型 长度(位) 取值范围 描述 BOOL 1 0/1 布尔型 BYTE 8 0x00~0xFF 十六进制数 WORD 16 0~65535 无符号整数 DWORD 32 0~4294967295 无 ...

  5. PLC状态机编程-如何在STL中使用状态机

    搞PLC编程多年,一直不知道状态机,学习matlab后,发现状态机编程异常方便,过去很多编程时的疑惑豁然开朗起来.今天跟大家分享一下如何在STL中使用状态机. 下面是用状态机描述的控制任务. 这个状态 ...

  6. 第2章:C++泛型机制的基石:数据类型表——《C++泛型:STL原理和应用》读书笔记整理

    第二章:C++泛型机制的基石--数据类型表 2.1 类模板的公有数据类型成员 2.1.1 类的数据类型成员   C++类中不仅可以定义数据成员和函数成员,而且还可以定义数据类型成员.在泛型设计中,类的 ...

  7. 【C/C++开发】STL内嵌数据类型: value_type

    使用stl库的时候一直对value_type这个东西理解的不是很好,可以说就是不理解.今天看了<STL源码剖析>才恍然大悟.这里稍作记录. 每个STL中的类都有value_type这种东西 ...

  8. STL容器set()--->自定义数据类型

    set容器中不能插入重复的元素,需要其插入的元素有比较大小(<).相等(==) 的逻辑判断,这是因为set中的元素是有序排列, 默认从小到大排列 std::set<type,std::le ...

  9. [PLC]ST语言五:STL/RET/CMP/ZCP

    一:STL/RET/CMP/ZCP 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*步进指令STL(EN,s);*) SET(M8002,S3); STL(T ...

随机推荐

  1. A - Exposition CodeForces - 6E

    题目链接:https://vjudge.net/contest/202699#problem/A 题意 给一个n个元素的序列,从中挑出最长的子序列,要求子序列中元素差的最大值不超过k.问有几个最长子序 ...

  2. UICollectionView的常用方法

    class UICollectionView : UIScrollView //初始化,位置,风格 init(frame: CGRect, collectionViewLayout layout: U ...

  3. NEST - 编写查询

    Writing queries Version:5.x 英文原文地址:Writing queries 将数据索引到了 Elasticsearch 之后,就可以准备搜索它们了.Elasticsearch ...

  4. tomcat配置介绍

    第一节java的介绍 java需要一个java的运行环境 JDK:包含了好几个java组件,包含类库(API) 开发工具(java) jvm(java虚拟机)JRE(类库) tomcat:开源  企业 ...

  5. HttpWatch入门使用教程

    HttpWatch V10.0.20.0 官方免费版 HttpWatch是强大的网页数据分析工具.集成... HttpWatch Professional V10.0.20.0 官方下载 HttpWa ...

  6. BZOJ3451 Tyvj1953 Normal 点分治 多项式 FFT

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ3451.html 题目传送门 - BZOJ3451 题意 给定一棵有 $n$ 个节点的树,在树上随机点分 ...

  7. ORA-12154: TNS: 无法解析指定的连接标识符 问题

    ORA-12154: TNS: 无法解析指定的连接标识符 问题:https://zhidao.baidu.com/question/397519550.html

  8. 启动 ServiceFabric Windows服务报1053

    Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动. 以管理员身份运行PowerShell,输入Unregister-Scheduled ...

  9. python解释器遇到if __name__=="__main__"会如何做?

    python解释器遇到if __name__=="__main__"会如何做 # Threading example import time, thread def myfunct ...

  10. LR两种录制模式的区别

    loadrunner的录制模式分为如下两种录制模式: HTML-based script,也称为高层录制: URL-based script,也称为底层录制. 两种录制模式的区别:1)脚本不同:高层录 ...