标准AB系统编程手册-数据类型
AB_PLC编程培训详解

(3)变址寻址方法简介:
下面简单介绍一下变址寻址的方式,变址寻址符号为#字符 ,在逻辑地址 的文件类型指示符的前面加#字符。在梯形图程序内可以使用一个以上的变址 地址。 在状态文件字24(S:24)内输入偏移址。所有变址指令都使用同样的字 S:24存储偏移值。处理器在基地址加偏移值处开始操作。 输入偏移值时应注意以下几点: 确认变址值(正值或负值)不会引起变址地址超越文件类型的边界。 当一条指令使用两个以上的变址地址时,对每个变址地址处理器使用相同 变址值。 必须在执行包含变址地址的指令前把变址字设定为偏移址。
RAM CPU工作区间 保持数据 程序文件
CPU
(3)输入输出寻址方法:
逻辑地址: N 7 : 文件类型 文件号 文件分隔符 字号 2 文件类型 文件号 文件分隔符 字号 位分隔符 位号 T 4 : 7 . ACC
整数文件内的字
结构文件内的字
N 7 :
2 / 5
B 3 / 31
ห้องสมุดไป่ตู้
文件类型 文件号 文件分隔符 字号 位分隔符 位号
4.存储器结构
(1)PLC的文件结构:
首先要理解文件结构,处理器通过用户创建的程序(叫做处理器文件) 进行控制。用户用编程设备执行的大部分操作包括在处理器文件内。处理 文件包括程序文件和数据文件两部分。
处理器文件
程序文件 数据文件
程序文件:
程序文件包括控制器信息、梯形图主程序、中断子程序以及其它一些子程序 对于SLC系列控制器,其程序文件的安排为: 系统程序(文件0)-包括不同系统的相关相关信息及用户的编程信息,如 处理器型号,I/O组态,处理器文件名,以及口令等。 保留(文件1)-文件被保留。 梯形图主程序(文件2)-本文件包括用户的主程序 梯形图子程序(文件3-225)-本文件包括供主程序调用的子程序。 对于MicroLogix1000系列控制器,程序文件的结构有所不同,这里不做过多 介绍。
编程语言数据类型与变量

编程语言数据类型与变量编程语言是人类与计算机通信的一种工具,在编写程序时,我们需要使用特定的编程语言来描述和处理数据。
而数据类型和变量则是编程语言中非常重要的概念。
本文将介绍编程语言中的数据类型和变量,并探讨它们在程序设计中的作用。
一、数据类型的概念与分类数据类型是编程语言中用来定义数据存储的格式和范围的一种方式。
不同的编程语言有不同的数据类型,其中常见的数据类型主要包括以下几种:1.基本数据类型基本数据类型是编程语言中最简单的数据类型,用于存储基本的数值和字符。
常见的基本数据类型包括整型、浮点型、字符型和布尔型等。
- 整型(Integer)用于表示整数,根据不同的编程语言,整型可以分为不同的范围和字节数。
例如,C语言中的int类型可以表示范围在-2147483648到2147483647之间的整数。
- 浮点型(Floating-point)用于表示浮点数,即带小数部分的数值。
浮点型的大小和精度也根据不同的编程语言有所不同。
在Java语言中,float类型可以表示小数点后6到7位有效数字的浮点数。
- 字符型(Character)用于存储单个字符,例如字母、数字、标点符号等。
C语言中使用char类型表示字符。
- 布尔型(Boolean)用于表示真假值,只能取两个值,即True和False。
在Python语言中,bool类型用于存储布尔值。
2.复合数据类型复合数据类型是一种由多个基本数据类型组合而成的数据类型,用于存储更复杂的数据。
常见的复合数据类型包括字符串、数组、结构体和类等。
- 字符串(String)是由多个字符组成的一段文本。
字符串类型在大多数编程语言中都是复合数据类型,可以进行一系列的操作,例如拼接、查找、替换等。
- 数组(Array)是同一类型的多个元素按照顺序排列组成的数据结构。
数组可以存储多个相同类型的数据,并通过下标进行访问和操作。
- 结构体(Structure)是由多个不同类型的数据组合而成的数据结构,用于描述一个实体的多种属性。
ABPLC编程软RSLOGIX5000入门7——UDT用户自定义数据类型

AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义数据类型在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。
这里将学到§ 了解使用 UDT 的优势§ 学习如何优化 UDT 规划§ 使用数据范围划定帮助简化并加快开发工作我们现在将重点关注 Logix 控制器中的数据规划。
打开现有控制器文件1. 在计算机桌面上,双击 Lab Files 文件夹。
2. 双击名为 Conveyor_Program_S3.ACD 的现有项目。
这样将在 RSLogix 5000 中启动该项目。
为传送带创建用户自定义数据类型您已重新组织了程序规划以更好地利用 Logix,现在已准备好开始对数据规划进行重新组织。
可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统 PLC 一样。
问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。
您已再次决定充分利用 Logix,使用用户自定义数据类型。
用户自定义数据类型用户自定义数据类型也称为 UDT 或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。
例如,每个传送带都有 8 个整数值、3 个实数值、2 个定时器和 11 个与其关联的布尔值。
在传统PLC 中,可能需要 4 个不同的数据表。
然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。
这样就会变得很难管理。
通过 UDT 能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。
然后便可创建该 UDT 类型的数组。
这可使得编程工作、代码的记录和数据的跟踪都更加轻松。
1. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。
将出现标签编辑器。
可注意到,标签数据库的外观与传统 PLC 非常类似。
Logix 标签数据库在传统 PLC 中,用物理地址标识各个数据项,例如 N7:0 或 B3:0/0。
MATAB程序设计基础重要基础知识点总结

MATAB程序设计基础重要基础知识点总结(全)MATAB是一种高级的数值计算和科学计算软件,具备强大的矩阵运算能力。
以下是MATLAB的重要基础知识点:一、变量和数据类型了解如何定义变量、使用不同的数据类型(例如数值型、字符串型、逻辑型)以及它们之间的转换。
1.数值型数据类型包括整数(integers)、浮点数(floats)和复数(complex numbers)。
可以使用不同的精度和符号位来定义这些数据类型。
2.字符串数据类型表示一个或多个字符组成的文本。
字符串在MATLAB中用单引号或双引号括起来,例如'hello' 或"world"。
3.逻辑型数据类型只能取两个值之一,即true(真)或false(假)。
在MATLAB中,逻辑值通常用于控制流程和条件判断。
4.矩阵和数组型数据类型MATLAB中最基本的数据结构是矩阵和数组。
通过向量、矩阵和多维数组来表示和操作数据。
可以使用预定义的函数或运算符来创建、访问和处理这些数据类型。
5.结构体数据类型可以用于将不同类型的数据组合在一起。
结构体可以由不同类型的字段组成,每个字段都有自己的名称和值。
6.元胞数据类型可以容纳不同类型的元素,并且每个元素可以是不同的大小和形状。
元胞数组在MATLAB中常用于存储和传递异构数据。
7.函数和类数据类型MATLAB中还可以定义自己的函数和类,这些数据类型可以对数据进行封装和操作。
二、数组和矩阵操作掌握创建数组和矩阵的方法,并了解常用的矩阵运算,如加法、减法、点乘、叉乘等。
创建数组和矩阵:可以使用方括号[] 或函数来创建数组和矩阵。
例如,a = [1, 2, 3] 可以创建一个包含整数1、2 和 3 的行向量;b = [4; 5; 6] 可以创建一个包含整数4、5 和 6 的列向量;c = [1, 2; 3, 4] 可以创建一个2x2 的矩阵。
访问数组和矩阵元素:可以使用下标(索引)来访问数组和矩阵中的元素。
AB-PLC-5000-编程基础指令例说明

附录第一章位指令 (2)第一节数据文件 (3)第二节位指令 (6)第二章计时器和计数器指令 (11)第三章比较指令 (21)第四章算术指令 (26)第五章传送和逻辑指令 (32)第六章移位和顺序进出指令 (35)第七章程序流程指令 (42)第八章I/O,文件,PID指令 (46)第九章高速计数指令 (64)第一章位指令位指令可对数据的单个位进行操作。
在运行时,处理器可以根据其所在梯级的逻辑条件置位或复位一位。
应用程序可以根据需要对一位寻址任意次。
本章第一节介绍位指令地址可使用的数据文件,第二节介绍基本的位指令。
第一节数据文件系统默认的数据文件分为以下几种类型:1.输出和输入数据文件(O0:和I1:)2.状态文件(S2:)3.位文件(B3:)4.计时器文件(T4:)5.计数器文件(C5:)6.控制文件(R6:)7.整数文件(N7:)上面的文件号也为系统默认的(即系统默认文件0为输出文件,1为输入文件,2为状态文件,等等)。
下面对这些系统默认的文件类型分别予以介绍。
1.输出和输入数据文件(O0:和I1:)文件O0中的各位表示外部的输出,文件I1中的各位表示外部的输入。
在大多数情况下,这些文件中的每个16位字号与位于控制器内的一槽相对应,位号与相应的输入或输出端子号对应。
输出和输入的地址格式用e表示槽号,s表示字号。
处理文件指令时,数据文件元素举例:O:3/5 槽3,输出位5I:7/8 槽7,输入位8I:2.1/3 槽2,字1,输入位3字地址:O:5 槽5,输出字0O:5.1 槽5,输出字1I:8 槽8,输入字0特别的,当一个槽的I/O点数超过16个时,寻址位有两种表示方法:使用字、位寻址和直接位寻址。
如:MicroLogix 1500系列输出0槽有64点。
寻址O:0.2/13时,也可写为O:0/45。
缺省值:用户编程设备显示的地址格式将更加正规。
例如:当分配地址O:5/0时,编程设备将显示为O:5.0/0(输出文件,槽5,字0,端子0)。
编程语言数据类型

编程语言数据类型随着计算机技术的飞速发展,编程语言也在不断变化和发展,数据类型也成为编程语言中至关重要的一部分。
在编程中,数据类型是用来指定变量在内存中所占用的空间以及变量可以存储的数据的范围。
因此,在编程语言的发展中,不同类型的数据也不断涌现出来。
一、基本数据类型在大部分编程语言中,通常都有基本的数据类型,如整型、浮点型、字符型等。
这些基本数据类型的定义与使用也比较简单。
其中,整型是用来表示整数的一种数据类型,其可以分为有符号整型和无符号整型。
有符号整型可以表示负数和正数,而无符号整型只能表示正数。
浮点型则可以用来表示小数,通常还可以分为单精度浮点型和双精度浮点型。
字符型则可以用来存储字符数据,如字母、数字、符号等。
当然,这些数据类型还可以根据具体的编程语言而有所不同。
二、高级数据类型除了基本数据类型之外,现在还有许多高级的数据类型被广泛应用。
其中一个比较重要的数据类型就是数组。
数组可以用来存储一组相同数据类型的元素,而这些元素可以通过下标来访问。
相比而言,数组的使用要比单一的变量更加灵活,可以大大提高编写程序的效率。
另外一个常用的高级数据类型是结构体。
结构体可以用来自定义数据类型,其中存储了一些不同种类的数据,如整型、浮点型、字符型等。
此外,还有一些比较特殊的高级数据类型,如枚举类型、指针类型等。
枚举类型可以用来表示一组常量,并对它们进行命名,这样就可以避免使用数字或字符来表示常量了。
指针类型则可以用来存储内存地址,这意味着可以访问存储在其他变量中的数据。
指针类型的应用非常广泛,但同时也需要谨慎使用。
三、动态数据类型在编程语言的发展中,动态数据类型也逐渐成为了一个热门话题。
动态数据类型通常不需要在程序中定义变量的类型,而是根据变量的值所属的数据类型来确定变量类型。
这样可以让程序更加灵活,并且可以在运行时进行类型检查。
动态数据类型在一些动态语言中得到了很好的应用,如Python、JavaScript等。
编程语言的数据类型

编程语言的数据类型在编程语言中,数据类型是编程中最基本的概念之一。
它定义了变量可以存储的数据的种类和范围,以及对这些数据可以进行的操作。
不同的编程语言提供了不同类型的数据,以满足不同的编程需求。
一、整数类型(Integer)整数类型用于表示整数值,可以是正整数、负整数或零。
常见的整数类型有:1. 有符号整数(signed integer):可以表示负数和正数,取决于所使用的位数。
常见的有符号整数类型有int、long等。
2. 无符号整数(unsigned integer):只能表示非负整数,因此不包括负数。
常见的无符号整数类型有unsigned int、unsigned long等。
整数类型可以进行基本的算术运算,如加、减、乘、除和取模等操作。
二、浮点数类型(Floating-point)浮点数类型用于表示带有小数的数值。
常见的浮点数类型有float和double。
这些类型可以表示小数、大数和负数,并支持基本的数学运算,如加法、减法、乘法和除法。
浮点数类型具有较高的精度,可以表示较大或较小的数值范围。
然而,由于浮点数在计算机内部以二进制表示,因此存在精度损失的问题。
三、字符类型(Character)字符类型用于表示单个字符,如字母、数字、符号等。
在大多数编程语言中,字符类型使用单引号来表示,如'A'、'5'、'$'等。
字符类型的操作包括字符的比较、拼接、截取等。
此外,还可以使用字符类型来表示特殊字符,如换行符、制表符等。
四、布尔类型(Boolean)布尔类型用于表示逻辑值,即真或假。
布尔类型只有两个值:true (真)和false(假)。
布尔类型通常用于条件判断、逻辑运算和控制流程。
例如,可以使用布尔类型来判断一个变量是否满足某个条件,或者用于循环控制的条件判断。
五、数组类型(Array)数组类型用于存储多个相同类型的数据项。
数组可以是一维的,也可以是多维的。
SGM标准AB系统编程手册-软件环境

软件环境目录1RsLinx V2.57 (3)1.1Installation (3)1.2Software OverView (6)2RsLogix 5000 V19 (8)2.1Installation (8)2.2Software OverView (14)3FactoryTalk View V6 (15)3.1Installation (15)3.2Software OverView (22)4RSNetWorx For DeviceNetV10.0 (23)4.1Installation (23)4.2Software OverView (26)1.RsLinx V2.57Rslinx是Rockwell编程软件与组态软件如RsLogix5000,RsNetworkx与Rockwell硬件之间建立通讯的软件。
Installation1,按照以下提示步骤进行软件的安装,双击Setup,在安装Rslinx前,系统会自动安装.NET 2.02,点击Next下一步3,选择同意软件授权协议,点击Next下一步4,输入用户名及公司名称,默认与操作系统相同,点击Next下一步5,选择需要安装的组件,推荐全选,点击Next下一步6,点击Install 开始安装7,在安装过程中弹出下面对话框,代表找不到中文字体库,没有影响,点击否,不再显示该消息8,安装结束后会弹出对话框要求重启,点击Yes重启电脑Software OverView1,点击配置驱动2,在Available Driver Types选择Ethernet devices点击Add New,在弹出对话框中给该驱动命名后点击OK3,在弹出Configure driver对话框中输入目标设备的IP地址,可以通过Add New按钮添加多个设备4,配置完毕后,点击进入RsWho界面,选中Autobrowse,打开自动扫描功能,该界面显示所有驱动与该驱动下对应所有在线设备2.RsLogix 5000 V19RsLogix5000是计算机与Rockwell PLC进行编程的接口软件Installation1,按照以下提示步骤进行软件的安装,双击Setup,在弹出语言选择页面选择英文,2,点击Continue下一步3,在Rockwell Software Common,页面选择Rslogix5000与Firmware Kits,点击Next 下一步4,在下一页面图1中输入用户名与公司名,并且输入10位,阿拉伯数字序列号,示例中暂时先输入1234567890先继续安装,会弹出下图2,点击Continue installation安装结束后再进行授权图1图25,在下图License Agreement页面中选择同意授权协议中所有条款,点击Next 下一步6,在下图Location页面中选择安装程序的目录,点击Next 下一步7,在下图安装组件选择页面中选择需要安装的组件,对新手来说推荐全选,里面包含一些例子和帮助文档可作为编程时的参考,点击Next 下一步8,在下图安装工具选择页面中,选择需要的工具,推荐DeviceNet Node Commissioning Tool(用于DeviceNet设备节点地址修改与波特率修改)和RsLogix5000 Compare Tool(用于比较两个程序不同之处),在低版本如V16安装过程中还必须选择DHCP/BOOTP Sever.,点击Next下一步9,在下图页面中全选将所需安装工具加入开始菜单RSRogix5000目录中9,在下图Firmware Kits页面中选择V19的硬件版本,用于更新控制器的硬件版本,点击Next下一步10,在下图中显示所有配置已经完成,其中Prerequisite Software里的软件表示安装rockwell软件的一些必要的软件和平台,点击install开始安装,安装包会从开始从上往下逐个安装11,安装完成,点击Finish结束编程常用组件导航器,显示Tasks,Program,UDT,IO/Configuration列表,编辑窗口3.FactoryTalk View V6FactoryTalk Vew Studio是Rockwell 触摸屏HMI组态软件,通过该软件进行HMI编程组态并且导入Panel View 触摸屏运行Installation1,按照以下提示步骤进行软件的安装,双击Setup,在下图弹出对话框中点击Install FactoryTalk View Machine Edition进入安装程序2,在下图界面中选择第一步 Install FacktoryTalk Sevices Platform,3,按照提示安装FactoryTalk Diagnostics,自动会弹出安装此软件的请求4,在下图中弹出界面点击Next下一步,开始进入安装FacktoryTalk Sevices Platform配置页面5,在下图弹出License Agreement界面,选择同意授权协议中所有条款,点击Next下一步6,在下图弹出界面中,选择Standard,点击Next下一步7,完成以上所有配置后,在下图弹出界面中,点击Install开始安装8,完成FacktoryTalk Sevices Platform安装后在下面界面开始第二步安装,Install FactoryTalk View Machine Edition(Complete)9,安装FactoryTalkView需要结束所有Rockwell automation软件进程,在弹出对话框中点击是,继续安装10,在下图界面弹出对话框中点击Next下一步,开始安装配置11,在下图弹出License Agreement界面,选择同意授权协议中所有条款,点击Next下一步12,在下一页面中输入用户名与公司名,并且输入10位,阿拉伯数字序列号,点击Next 下一步13,在下一页面中选择程序安装位置,默认C盘,点击Next下一步14,在下一页面中选择安装组件,推荐全选,点击Next下一步15,安装程序配置完成,在下一页面点击Install开始安装16,安装结束后界面中选中Install RSLinx Enterprise与Install FactoryTalk Activation,点击Finish。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-04-12 数据类型
数据类型
目录
1Predefined Data Type (3)
1.1Basic Predefined Data Type (3)
1.2Advanced Predefined Data Type .............................................................. 3高级预定义数据类型
1.3Module Predefined Data Type (4)
2User Defined Data Type (5)
2.1UDT概况 (5)
2.2通用标准UDT (5)
2.3非标准UDT (8)
1、预定义数据类型
基本预定义数据类型
高级预定义数据类型
模块预定义数据类型
2、用户自定义数据类型
1.Predefined Data Type
Predefined预定义的数据类型是在系统中定义且不可修改的数据类型
●Basic Predefined Data Type
Basic Predefined是构成数据类型的基本单元,所有其它数据类型基于此基础
●Advanced Predefined Data Type
Advanced Predefined是Rockwell 开发的一些由Basic Predefined数据类型组成,方便编程人员使用的系统自带的数据类型,如TMR(timer),RIN(Redundant Input冗余输入),下图1以RIN为例,所有的组成均为BOOL 量,每个变量的作用各不相同,可以参见RIN的注释,??
图1
Module Predefined Data Type【模块预定义数据类型】
当编程人员在硬件组态时在IO/Configuration中添加模块时,系统自动生成对应该模块的标签,而Module Predefined数据类型是此类标签的数据类型,如下图所示当我们在硬件组态中添加sz_UB030E2时,自动会生成sz_UB030E2:I表示该模块的输入变量,而AB:1791DS_IB8XOB8_Safety2:I:0即为该模块的预定义数据类型,相同模块由于参数设置的不同,预定义数据类型可能不一样,详见硬件配置中的描述
er Defined Data Type
●UDT概况
1,User Defined Data Type(下文简介UDT)是用户自定义数据类型,可以由各种预定义数据类型或者其他数据类型构成
2,UDT将用户关于某一功能(如滚床,气缸)的所有需要用到的变量统一在同一组织结构中
3,UDT减少了系统中变量的数量
4,UDT使逻辑更加标准化,更具有可复制性
●通用标准UDT user defined data type
1,通用标准中关于滚床,气缸,关于Cell ,Station,Action【动作】和一些标准柜的UDT,不能删除任何东西而且最好不要修改,下图是以Action的UDT,在Action的动作程序需要用到的变量都包含在此UDT中
如我们需要有关闭第一组夹头这个程序,首先我们需要建立已za_Action为数据类型的标签Clamp1Close,并且在CloseClamp的程序段中需要用到的中间变量我们都能在Clamp1Close变量组中找到,如下图1代表关闭完成,图2代表关闭的自动条件,图3代表关闭的命令
图1
图2
图3
2,下图是以Zc_CellHMI的UDT,与Cell相关的HMI显示画面和此UDT相关,由于HMI使用标准模板,此UDT不能修改,
非标准UDT –安全模块
1,由于客户特殊的需求或者成本考虑,项目中经常会有非标准的盘柜或者应用,我们可以根据通用标准的UDT 根据项目特点做适当修改。
一般来讲Junction Box, VFD panel,中每一块安全模块我们根据硬件图纸都要分别定义数据类型,对应一个8入8出安全模块或者有Test output 的12入模块,相应必须有4个UDT ,且互相包含。
2,对应8入8出安全模块,s_**_SafeIn ,对应该模块的输入的UDT ,在通用标准中对应硬件组态固定为以下格式,我们最重要是需要实际输入点,可以修改名称及描述,其它部分不用修改且不能删除,表示模块状态或者为了与Module Predefined 能够一一对应所使用的填充,无特殊意义
对应模块实际输入点
填充物,为了能让输入点所在位置和 Module-Predefined 数据定义位
置一致
填充物,为了能让Inputstatus 和OutputStatus 所在位置和 Module-Predefined 数据定义位置一致
安全程序UDT
3,对应8入8出安全模块,s_**_SafeOut,,对应该模块的输出的UDT,在通用标准中对应硬件组态固定为以下格式,上面8点为实际输出点,下面4点对应T0-T3,如果硬件配置不使用T0-T3,则在此UDT中只需要8个变量,也就是说数据类型实际上由Module Pre-defined数据类型决定,Module Pre-defined数据类型由硬件配置决定
对应模块实际输出点
对应模块T0-T3,
4,对应8入8出安全模块,s_**_SafeIO,,对应该模块的安全程序中所使用变量的UDT,编程人员可以将安全程序中使用到的变量全部加入到此UDT中,另外SafeIO还包含SafeIn和SafeOut,例如下图中UB030J1_1模块上接有两个安全设备,所以我们添加SD1,SD2,另外还有一些安全程序中所使用的中间变量
5,对应8入8出安全模块,ud_**_IO,在普通程序中还需要对应一个UDT,此UDT包含 SafeIO,与对应该模块在普通程序中的报警信息所需的变量
对应该模块普通程序中所使用的中
间变量都要在IO UDT中存在
非标准UDT –普通模块
1,非标准UDT 另外一个主要应用在1734普通模块,下面以新表调线FL091BFL094J1中1734模块为例,该模块由3块输入模块1734-IB8,4块继电器输出模块1734-OW4组成,DeviceNet 地址为20,下图1为网络组态RsNetworkx 中显示结果,图2为输入的映射,图2中可以看出Byte0与Byte1已经占用,说明输入点从Byte2开始也就是第17位开始,因此在程序中我们读取的输入点UDT 前16位为预留点查找模块手册知悉该数据区域为模块状态点,因此所得输入数据UDT 为图3所示
图
1
图2 图3 2,对应继电器输出模块,模块输出映射如下图1,与输入类似同样也有2个Byte 数据表示状态,从Byte2开始一块输出模块占位1Byte ,但是由于该模块只有4个输出点,只用到1Byte 中的4位,此时我们可以通过程序强制输出,测量电压可以试出对应该模块的1Byte 数据前4位为输出点,后四位无意义,因此创建输出UDT 如下图2所示
Int 数据类型占16位
图1 图2。