西门子S7-300 UDT复杂数据类型 最简易快速教程
S7-300中UDT与STRUCT型数据总结

UDT型说明:从数据类型的意义上说UDT 并不被CPU 所识别,而是在离线程序中自定义(组合)的数据类型。
S7 程序的自定义数据类型并不能装载到S7 CPU 中。
UDT 是由递增的编辑器创建并编辑或由源文件的编译而生成。
当在块调用中进行变量传递时是不能将UDT 作为内存地址区域来传递的。
因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用 UDT 的符号名来定义 IN, OUT 和IN_OUT 参数,因为系统将自动生成相对应的地址。
下表介绍了如何创建和参数化UDT 类型变量的过程。
我们将以两组各十台相同的电机为例。
UDT1 对应这些电机的所有输入变量。
1 在STEP 7 项目中插入自定义数据类型。
如图01 鼠标选中“block”文件夹并点击右键,再弹出菜单中选择命令“Insert NewObject > Data Type” 。
图01图023 打开UDT1 并输入相关数据类型的变量及其初始值。
图03 为UDT1 变量声明的例子。
图03图045 打开DB1 将变量数据类型定义为UDT1 (符号名“Motor”)。
例如图05 所示:两个数组(ARRAY)变量,每组包括10个以UDT1 为数据类型的变量(编号1 到10)。
图05由于此例两组电机是独立的,所以在DB1 中要为每一组电机创建数据结构。
例如第一组的数据结构定义为数据类型为UDT1 的数组“ Array[1..10] ”,符号名为“Halle_1_Motor”。
图06注意事项:在数据块中变量定义为UDT 情况下只能对实际值进行编辑。
即可以在数据块的数据视图中输入变量的当前值。
初始值“Initial Value”纵栏显示的是在定义UDT 变量时所设的初值。
只是在DB 块第一次存储时将初值作为当前值。
图07UDT 数据类型同样适用于OUT 和IN_OUT 参数,方法同上。
8 数据块DB1 的寻址及编程图 08 所示为变量定义为UDT1 类型数据结构的DB1 的编程例子。
西门子S7-300系列PLC数据类型

一、基本数据类型
基本数据类型的长度不超过32位。
位(BOOL),字节(BYTE),字(WORD),双字(DOUBLE WORD),整数(INT),
双整数(DOUBLE INT),浮点数(REAL),S5TIME(SIMATIC时间),IEC时间(TIME),IEC日期(date),日计时(TIME_OF_DAY),字符(CHAR),
重点:S5TIME和IEC时间数据类型结构,二者区别
二、复杂数据类型
复杂数据类型是由其他基本数据类型组合而成的,长度超过32位的数据类型。
1.日期时间数据类型(Data_And_Time ):
2.字符串类型(String):
3.数组类型Array
4.结构(STRUCT):
5.用户定义类型(UDT):
三、参数数据类型
用于功能FC或功能块FB的数据类型
1. Pointe指针类型,6字节指针类型,传递数据块号和数据地址
2. Any指针类型,10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保
用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
西门子S7-300教程

02
西门子s7-300编程
s7-300编程语言介绍
S7-300编程语言
LAD
STL
FBD
西门子的S7-300系列PLC主要 使用STEP 7编程软件进行编程, 支持多种编程语言,包括LAD (梯形图)、STL(语句表)和 FBD(功能块图)。这些语言各 有特点,适合不同的应用场景 和编程习惯。
LAD是最常见的PLC编程语言 ,它使用图形化方式表示逻辑 控制,直观易懂,适合初学者 使用。
在故障。
听诊法
通过听设备运行时的声音,判 断是否存在异常响动或杂音, 从而判断故障部位。
触摸法
通过触摸设备的表面、温度等 ,判断设备是否过热、振动等 异常现象。
测试法
通过使用专业的测试工具和软 件,对设备的各项性能进行测 试,从而确定故障的原因和部
位。
s7-300的日常维护
定期检查
定期对设备进行外观、电源、电缆等检查, 确保设备正常运行。
02
它具有强大的指令集和数据处理能力,能够处理复 杂的逻辑和控制任务。
03
S7-300具有高可靠性和长寿命,能够在恶劣的工业 环境中稳定运行。
s7-300的硬件组成
在此添加您的文本17字
S7-300的硬件组成包括中央处理单元(CPU)、信号模块、 通讯模块、功能模块和接口模块等。
在此添加您的文本16字
PLC与HMI的通讯
02
通过以太网协议,实现S7-300 PLC与HMI设备的实时数据交换
和监控。
PLC与上位机的通讯
03
通过以太网协议,实现S7-300 PLC与上位机的数据交换和远程
监控。
04
西门子s7-300故障诊断与维护
S7-300_PLC课件 数据块中的数据存储,组织快,结构化编程

自动
S7-300 / 400 S7-300
手动
Power ON STOP->RUN
清除过程映像,非保持的M, T, C
执行 OB 100 允许输出
是
STOP
循
执行OB1
循 环
输出 PIQ
读入 PII 执行 OB1 输出 PIQ
环
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
例如 OB20 (优先级 3) =延时中断。 检测到一个信号后 延迟3.25s 执行。
OB号 OB 1 OB 10 OB 20 OB 35 OB 40 OB 82
OB 类型 循环程序 日期时间中断 延时中断 循环中断 硬件中断 错误处理
优先级 1 2 3 12 16 26 / 28
青岛大学-西门子先进自动化技术实验室
序号 1 步骤
设置CPU的参数,使得在课程结束时执行 日期时间中断。
结果
2
根据要求生成、保存、下装OB10。
3
测试程序的功能
在课程结束时,蜂鸣器发出声音。
4
禁止日期时间中断,并将修改的配置下装。
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
练习4: 利用时间中断实现定时检测
青岛大学-西门子先进自动化技术实验室 青岛大学自动化工程学院
SIEMENS
错误组织块应用举例
青岛大学-西门子先进自动化技术实验室
青岛大学自动化工程学院
SIEMENS
错误处理OB块中的附加信息
OB 122 (访问错误)中的附加信息
变量 OB122_EV_CLASS OB122_SW_FLT OB122_PRIORITY OB122_OB_NUMBR OB122_BLK_TYPE 类型 BYTE BYTE BYTE BYTE BYTE 描述 事件类别, IDs = B#16#29 错误代码: (可能的值为: B#16#42, B#16#43, B#16#44, B#16#45) 发生错误的OB块的优先级 OB块的号码 (122) 发生错误的块的类型: B#16#88: OB? B#16#8A: DB? B#16#8C: FC? B#16#8E: FB? 内存区域和访问类型 发生错误处的内存地址 导致错误的MC7指令所在块的地址 导致错误的MC7 指令的相对地址 OB块被调用的日期和时刻
S7-300 简明教程课件

典型电气控制系统分析
➢ 起保停控制线路、多地点控制线路; ➢ 三相异步电动机按顺序工作的连锁控制
线路; ➢ 起动控制电路:如星形—三角形降压启
动线路; ➢ 制动控制线路:如三相笼型异步电动机
反接制动控制电路; ➢ 工作台往复运动控制线路。
双击该组件,或选择菜单命令编辑 > 对象属性。 鼠标右键:将光标移到组件上,按下鼠标右键,然 后从弹出式菜单中选择对象属性命令。 CPU属性 CPU属性对系统特性具有特殊意义。在CPU的对话框 中,可以设置下列各项,例如:启动特性、用于中断的本 地数据区及优先级、存储区、保持性能、时钟存储器、保 护级别以及口令 - 仅举其中一小部分实例。STEP 7 "了解" 可以设置的内容以及设置范围。 在CPU的"常规"标签页中,或通过CPU接口属性,可 以将参数分配给接口(例如,MPI或集成PROFIBUS-DP接 口)。通过这些对话框,还可以访问要与CPU连接的相应子 网的属性对话框。
从可编程控制器上传时的限制条件
下列限制条件适用于从可编程控制器上传至编程设备的数据: 块不包含任何用于参数、变量和标签的符号名称 块不包含任何注释 所有系统数据会随整个程序一同上传,系统只能继续处理属于"组态
硬件"应用程序的系统数据 不能更进一步处理用于全局数据通讯(GD)和组态与符号相关消息的数
图2-25 在PLCSIM中监视、修改变量
3、PLCSIM与真实PLC的差别
PLCSIM提供了方便、强大的仿真模拟功能。与真实PLC相比,它的 灵活性更高,提供了许多PLC硬件无法实现的功能,使用也更方便。但是同 时软件毕竟无法完全取代真实的硬件,不可能实现完全的仿真。用户利用 PLCSIM进行模拟调试时,必须了解它与真实PLC系统的差别。
S7-300使用说明书

一、S7-300初始化尽量使用window2000,Windows XP。
STEP7V52或以上版本1.2 通信1、设置通信`设置或添加PC Adapter(MPI), Property 按钮Local Connection 属性页COM 1 19200,注意一般连接到计算机的串行口1。
其他参数不需要设置,注意选择PC Adapter,不要有其他的,例如pc/ppi。
1.3 硬件组态2、新建工程在SIMATIC Manager中新建工程,也可以通过wizard向导建立。
选中右边的工程名,Insert Station SIMATIC 300。
双击Hardware,从而进入HW CONFIG窗口。
Option>Insert NEW GSE文件。
把MM420, ET200等GSD文件加入。
在hw config,如图所示,插入RAC-300机架。
选中机架第二栏,双击CPU-300>CPU313C-2DP,注意准确的编号。
默认地址2。
双击DP,选择Property按钮。
选择NEW,选择1.5MBPS,如果出现警告,可以选择187kpbs。
依次在SLOT 1,2,3位置插入其他模块。
0 电源模块S7-300DI 地址:256-263DO 地址:256-259选中DP线,然后双击ET200S,如图所示,插入ET200S.选择,依次在SLOT 1,2,3位置插入其他模块。
6ES7 138-4CA00-0AA0 PM-E DC24V6ES7 134-4GB50-0AB0 2AI I 2DMU地址I address264-2676ES7 134-4JB50-0AB0 2AI RTD地址I address268-271插入MM420选择4PKW, 2PZD (PPO1)2AX地址I address 280-283 Q address 268-271全部保存1.4 下装硬件组态并检测在SIMATIC Manager中,选择工程,选择PLC>Clear/Reset,可以清除原来的配置信息。
西门子S7300教程第3章-PPT精品文档53页

Date: 2019/10/7
Page: 17 返回本节
4. SIMATIC 管理器自定义选项设置(1/2)
设置常规选项
Date: 2019/10/7
Page: 18 返回本节
4. SIMATIC 管理器自定义选项设置(2/2)
设置语言
Date: 2019/10/7
Page: 19 返回上级
5. PG/PC接口设置(1/3)
5.硬件组态(6/6)
编译硬件组态(完成后的窗口) 系统自动创建程序文件夹 包含一个循环组织块OB1
Date: 2019/10/7
Page: 39 返回上级
6.编辑符号表(1/2)
方法1:从LAD/STL/FBD编辑器打开符号表
Date: 2019/10/7
Page: 40 返回上级
6.编辑符号表(2/2)
Page: 14 返回本章
1.启动SIMATIC管理器
Date: 2019/10/7
启动SIMATIC管理器
Page: 15 返回本节
2.SIMATIC管理器界面
可访问网络节点 S7 存储卡 下 载 工 具 ( D ownload) 离 线 工 具 ( O fflin e) 在 线 工 具 ( O nline) 查看工具
§3.3.2 简单设计示例:电动机起停控制
PLC端子接线图 使用向导创建STEP 7项目 手动创建STEP 7项目 插入S7-300工作站 硬件组态 编辑符号表 程序编辑窗口 在OB1中编辑LAD程序 在OB1中编辑STL程序 在OB1中编辑FBD程序
Date: 2019/10/7
§3.3.1 设计流程 §3.3.2 简单设计示例
Date: 2019/10/7
西门子plc中UDT数据类型的用法

西门子plc中UDT数据类型的用法西门子plc中UDT数据类型的用法一、UDT是什么UDT是用户自定义数据类型。
用户有时为了便利,先创建一个udt(和创建db块一样),写好数据结构。
然后,在创建db块时,假如需要可以插入建好的udt(输入个name,类型输入udt的名字,比如udt1),假如切换到数据视图,即可看到原先创建的udt的结构了。
有时需要建立多个数据块,但数据块的结构,数据类型都是一样的,但又不能在同一个数据块中保存,这时可以先建一个UDT,通过UDT 再创建其余的几个块。
举例来说,你需要掌握10个电机,它们的属性都是基本相同的:如“正转(BOOL)”、“反转(BOOL)”、“速度(INT)”、“加速度(INT)”、“减速度(INT)”等,假如程序中你需要用到这些属性,那么你可能需要为10个电机都建立这些变量,假如是单独建立,你就需要建立10*5=50个变量;假如你用UDT来处理,那就简洁多了:先定义一个UDT,名字是MOTOR,里面添加上面所说的2个BOOL变量和3个INT变量(当然有需要可以添加其它数据类型的变量),然后建一个DB块,在里面建立10个变量M1~M10,数据类型就是MOTOR,保存后你会发觉这10个变量都包括以上的几个属性,这样你就可以直接在程序中使用了。
也就是说UDT的作用就是便利编程者的,对于程序的运行而言不是必需的.从数据类型的角度来说,UDT甚至不会被PLC直接接受.大家看西门子S7-300的程序的上传就知道了,将一个带有UDT的程序下载到PLC中,然后新建一个PLC,上传程序,在传上来的程序中你是找不到UDT的.UDT更像是对DB结构的解释!下面教大家如何在博途里使用UDT.1、在项目树中PLC数据类型中双击添加新数据类型2、对新建的数据类型重命名,如UDT3、在UDT中添加要用的变量,编译保存。
4、新建一个全局DB块-DB1,并在DB块中添加名称M1等,数据类型为"UDT",留意数据类型要与之前新建的数据类型名称相同。
西门子S7300教程第3章 PPT资料共53页

② ③
①
项目向导2/4
Date: 2019/11/26
Page: 28 返回上级
2.使用项目向导创建STEP 7项目(3/4)
②
①
项目向导3、4
Date: 2019/11/26
Page: 29 返回上级
2.使用项目向导创建STEP 7项目(4/4)
完成项目创建,项目名:My_Prj1
Date: 2019/11/26
5.硬件组态(2/6)
带有插槽的机架(导轨)
槽号 模块列表
版本号
输入模块地址
放置模块型号
订货号
MPI 子网地址
输出模块地址
插入0号导轨:(0)UR
Date: 2019/11/26
Page: 35 返回上级
配置电源模块
5.硬件组态(3/6)
配置 CPU
配置数字量输入模块
配置数字量输出模块
插入各种S7-300模块
Page: 30 返回上级
3.手动创建STEP 7项目(1/2)
新建项目窗口
Date: 2019/11/26
Page: 31 返回上级
3.手动创建STEP 7项目(2/2)
所创建的项目,项目名:My_Prj2
Date: 2019/11/26
Page: 32 返回上级
4.插入S7-300工作站
在My_Prj2项目内插入S7-300工作站:SIMATIC 300(1)
PG740
Date: 2019/11/26
Page: 5 返回本节
§3.1.3 STEP 7的安装(1/8)
选择安装语言及安装程序
Date: 2019/11/26
Page: 6 返回本节
西门子S7-300高级编程培训教材,内部教材 5、STEP 7中的数据类型和变量

Meas_value[10]: Real • 一维数组: 域名:ARRAY[最小索引..最大索引] OF 数据类型; • 多维数组: 域名: ARRAY[最小索引1..最大索引1,最小索引2..最大索引2,...] OF数据类型; 索引:数据类型INT(-32768...32767)
示例: 数组变量的声明:
Date: File:
2013-8-15 PRO2_05E.4
SITRAIN TraininP 7中的基本数据类型
关键字
BOOL BYTE WORD DWORD
CHAR
长度(单位:位)
1 8 16 32
8
类型常数示例
1或0 B#16#A9 W#16#12AF DW#16#ADAC1EF5
SITRAIN Training for
Automation and Drives
STEP 7参数类型
关键字
TIMER
长度(位)
16
示例
Contact time: TIMER . SI #Contact_time NoCompParts: COUNTER . LC #No_Comp_Parts Recall: BLOCK_FB . UC #Recall Measure: POINTER . L P##Measure . Measured Values: ANY . L P##Meas_Values .
LAD中的分支 STL表示
分支位置
来自本地数据堆栈的 帮助变量
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2013-8-15 PRO2_05E.11
SITRAIN Training for
西门子S7 300经典入门教程

PLC概述.................................................................................................................. 1一、可编程控制器的产生及定义.............................................................................. 1二、可编程控制器的分类及特点.............................................................................. 1三、可编程控制器的应用.......................................................................................... 3四、PLC控制系统的分类 ......................................................................................... 4可编程控制器原理...................................................................................................... 52.1 PLC的组成与基本结构................................................................................. 5第三章SIMATIC S7-300 PLC系统特性及硬件构成........................................... 11用户程序由组织块(OB)、功能块(FB,FC)、数据块(DB)构成.................... 13第四章编程语言.................................................................................................. 20PLC概述一、可编程控制器的产生及定义①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。
西门子S7300经典入门教程之欧阳家百创编

欧阳家百(2021.03.07)PLC概述一、可编程控制器的产生及定义①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。
但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC(programmable logic controller)。
②70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC(programmable controller)。
但由于PC容易与个人计算机(personal computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。
③1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算的电子系统,是专为在工业环境下的应用而设计的工业控制器,它采用了可以编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。
④PLC是由继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。
继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。
⑤PLC是集自动控制技术、计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。
二、可编程控制器的分类及特点(一)分类(1)从组成结构形式分①一体化整体式PLC②模块式结构化PLC(2)按I/O点数及内存容量分①超小型PLC②小型PLC③中型PLC④大型PLC⑤超大型PLC(3)按输出形式分①继电器输出为有触点输出方式,适用于低频大功率直流或交流负载②晶体管输出为无触点输出方式,适用于高频小功率直流负载③晶闸管输出为无触点输出方式,适用于高速大功率交流负载(二)特点①可靠性高、抗干扰能力强②编程简单、使用方便③设计、安装容易,维护工作量少④功能完善、通用性好,可实现三电一体化PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体。
西门子S7-300PLC的数据类型

西门子S7-300PLC的数据类型西门子S7-300PLC的数据类型西门子S7-300plc的数据类型分以下三种:基本数据类型、复合数据类型和参数类型。
一、基本数据类型1、位(bit)常称为BOOL(布尔型),只有两个值:0或1。
如:I0.0,Q0.1,M0.0,V0.1等。
2、字节(Byte)一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。
如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。
范围:00~FF(十进制的0~255)。
3、字(Word)相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。
如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。
需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。
字的范围为十六进制的0000~FFFF(即十进制的0~65536)。
在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。
4、双字(DoubleWord)相邻的两个字(Word)组成一个双字,来表示一个无符号数。
因此,双字为32位。
如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。
需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。
双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。
在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。
以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。
5、16位整数(INT,Integer)整数为有符号数,最高位为符号位,1表示负数,0表示正数。
范围为-32768~32767。
6、32位整数(DINT,DoubleInteger)32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。
西门子S7-300全教程第三章

第三章西门子PLC的指令系统3.1 S7-300/400的编程语言3.1.1 PLC编程语言的国际标准IEC 61131是PLC的国际标准,1992~1995年发布了IEC 61131标准中的1~4部分,我国在1995年11月发布了GB/T 15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。
IEC 61131-3广泛地应用PLC、DCS和工控机、―软件PLC‖、数控系统、RTU等产品。
定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL。
2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL)。
3) 梯形图LD(Ladder diagram):西门子简称为LAD。
4) 功能块图FBD (Function block diagram):标准中称为功能方框图语言。
5) 顺序功能图SFC(Sequential function chart):对应于西门子的S7 Graph。
3.1.2 STEP 7中的编程语言梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。
1.顺序功能图(SFC) :STEP 7中的S7 Graph2.梯形图(LAD):直观易懂,适合于数字量逻辑控制。
―能流‖(Power flow)与程序执行的方向。
3. 语句表(STL):功能比梯形图或功能块图强。
4.功能块图(FBD):―LOGO!‖系列微型PLC使用功能块图编程。
5.结构文本(ST):STEP 7的S7 SCL(结构化控制语言)符合EN 61131-3标准。
SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。
6.S7 HiGraph 编程语言图形编程语言S7 HiGraph 属于可选软件包,它用状态图(state graphs)来描述异步、非顺序过程的编程语言。
7.S7 CFC 编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。
S7-300全教程

第一章 S7-300/400的基本结构1、 S7-300/400属于模块式PLC,主要由机架、CPU模块、信号模块、功能模块、接口模块、通信处理器、电源模块和编程设备(工程师、操作员站和操作屏)组成。
图1-1 PLC控制系统示意图PLC的主要生产厂家:德国的西门子(Siemens)公司,美国Rockwell公司所属的AB公司,GE-Fanuc公司,法国的施耐德(Schneider)公司,日本的三菱和欧姆龙(OMRON)公司。
PLC的工作过程表1-1 逻辑运算关系表与或非Q4.0=I0.0*I0.1 Q4.1 = I0.2+I0.3 Q4.2 =/I0.4I0.0 I0.1 Q4.0 I0.2 I0.3 Q4.1 I0.4 Q4.20 0 0 0 0 0 0 10 1 0 0 1 1 1 01 0 0 1 0 11 1 1 1 1 1在CPU模块上有存储器(用来存放系统程序、用户程序、逻辑变量和其它一些信息),包括ROM和RAM。
可通过扩展槽扩展用户RAM。
l RAM:主程序区OB1+子程序区(FB、FCB、定时中断块等)断电时由锂电池供电(几年)以免RAM 中信息丢失。
锂电池电压< 规定值,灯报警,换电池(期间靠电容充电几分钟)。
l PLC采用循环执行用户程序的方式。
OB1是用于循环处理的组织块(主程序),它可以调用别的逻辑块,或被中断程序(组织块)中断。
在起动完成后,不断地循环调用OB1,在OB1中可以调用其它逻辑块(FB, SFB, FC或SFC)。
循环程序处理过程可以被某些事件中断。
在循环程序处理过程中,CPU并不直接访问I/O模块中的输入地址区和输出地址区,而是访问CPU内部的输入/输出过程映像区。
批量输入、批量输出。
梯形图中Q4.0的线圈(称为内部线圈)―通电‖时,对应的输出过程映像位为1状态。
信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈(外部线圈)通电,其常开触点闭合,使外部负载通电工作。
如何创建和参数化UDT数据类型五篇

如何创建和参数化UDT数据类型五篇第一篇:如何创建和参数化UDT数据类型如何创建和参数化UDT数据类型中的变量及IN,OUT,IN_OUT 参数从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。
S7程序的自定义数据类型并不能装载到S7 CPU中。
UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。
当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。
因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用UDT的符号名来定义IN,OUT和IN_OUT 参数,因为系统将自动生成相应的地址。
下面介绍如何创建和参数化UDT类型变量的过程。
我们将以两组各十台的电机为例。
UDT1对应这些电机的所有输入变量。
步骤一:在STEP 7项目中插入自定义数据类型。
如图鼠标选中“block”文件夹并点击右键,再弹出菜单中选择命令“Insert N ew Object>Data Type”。
步骤二:在“Properties-Data Type”对话框中输入UDT1的符号名(这里以“Motor”为例)后点击OK确认。
步骤三:打开UDT1并输入相关数据类型的变量及其初始值。
下图为UDT1变量声明的例子。
步骤四:然后通过菜单命令“Insert>S7 Block>Data Block”在STEP 7项目中添加一个数据块DB1,并在“Properties-Data”属性对话框中为其定义符号名(例如此例为“Halle_Motoren”(Hall-Motors)。
点击OK确认。
步骤五:打开DB1将变量数据类型定义为UDT1(符号名“Motor”)。
如图所示:两个数组(ARRAY)变量,每组包括10个以UDT1为数据类型的变量(编号1到10)。
步骤六:选择菜单命令“View>Data View”可显示所有 DB1数据。
注意事项:在数据块中变量定义为UDT情况下只能对实际值进行编辑。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UDT复杂数据类型建立和UDT接口的更改方法
2014年4月7日张勇于深圳启程用户自定义数据类型(User-Defined Date Types)简称UDT,是一种特殊的数据结构,用户只需对它定义一次,定义好后就可以在用户程序中作为数据类型使用。
UDT复杂数据类型的建立(我们以三台电机的控制为例)
第一步:建立UDT,定义相关接口:
第二步:建立DB(下文建立的DB1),在DB1的接口类型中选择刚才建立的UDT:
第三步:建立FB(下文建立的FB1),定义接口,编写电机控制的相关程序:
打开FB1,定义FB1里面的接口变量:
在FB1内编写如下电机启停程序:
第一步:新建立一个FB(下文建立的FB2),把FB2
做成多重背景数据:
打开FB2,定义FB2里的接口变量(做3个电机启停的背景数据):
第五步:建立FC(下文建立的FC1),编写程序,给DB1内的数据进行赋值:
在FC内编写程序:
第六步:在OB1中,调用FB2和FC1:
OK完成
在实际设备调试中,因为我们需要对功能进行调试,依据实际的调试情况,就会出现增加或者减少接口的问题,下面为大家演示在U DT中怎么增加接口:
第一步,在UDT1中增加一个接口变量:
第二步,更改DB1的源文件:
因为接口有了变化,我们检查更新编译一下各个块
的接口
第三步,在FB1中更改相关的程序:
因为接口有了变化,我们检查更新编译一下各个块的接口
第四步,在FB2内给新接口定义参数,在FC1内给新增的接口定义实际参数:
OK完成。