第3章S7-1200PLC编程基础知识,怎么编程

怎么编程 10
第3章S7-1200PLC编程基础知识 3.1PLC的工作原理 3.1.1过程映像区的概念 当用户程序访问PLC的输入(I)信号和输出(Q)信号时,通常不是直接读取输入/输出模块信号的,而是通过位于PLC中的一个存储区域对输入/输出模块进行访问的,这个存储区域就是过程映像区。
过程映像区分为过程映像输入区和过程映像输出区。
采用过程映像区处理输入/输出信号的好处:在一个PLC扫描周期中,过程映像区可以向用户程序提供一个始终一致的过程信号。
在一个扫描周期中,如果输入模块的信号状态发生变化,那么过程映像区中的信号状态在当前扫描周期将保持不变,直到下一个PLC扫描周期过程映像区才更新,这样就保证了PLC在执行用户程序的过程中,过程映像区数据的一致性。
S7-1200PLC的数字量模块和模拟量模块的过程映像区的访问方式相同,输入都是以关键字符%I开头(%表示绝对地址寻址)的,如%I0.5、%IW20;输出都是以关键字符%Q开头的,如%Q0.5、%QW20。
3.1.2PLC的工作模式 PLC有3种工作模式,分别是STOP模式、STARTUP模式和RUN模式,CPU的状态LED指示PLC的工作状态。
S7-1200CPU上没有用于更改工作模式的物理开关,需要使用博途软件切换PLC的工作模式。

1.STOP模式在STOP模式下,PLC将检查所有组态的模块是否可用,如果结果良好,那么PLC随后就将输入/输出信号设置为预定义的默认状态。
当PLC处于STOP模式时,PLC不可以执行用户程序,但可以下载用户程序。
所有
2.STARTUP模式版权STARTUP模式是PLC从STOP模式到RUN模式的一个过程,在这个过程中,将清社除非保持性存储器的内容、过程映像输出,执行一次启动OB块,更新过程映像输入等。
版如果启动满足条件,则PLC将进入RUN模式。
业出究
3.RUN模式电子工盗版必在RUN模式下,PLC将执行用户程序、更新输入/输出信号、响应中断请求、对故 西门子S7-1200PLC编程及应用 障信息进行处理等。
3.1.3程序扫描模式 PLC在RUN模式下,将按照以下机制循环工作。

(1)将输入模块的信号读到过程映像输入区。

(2)执行用户程序,进行逻辑运算,并更新过程映像输出区中的输出值。

(3)将过程映像输出区中的输出值写入输出模块。
上述3个步骤是S7-1200PLC的软件处理过程,即程序扫描周期。
只要PLC处于运行状态,上述步骤就会周而复始地执行。
在程序扫描期间,若有中断请求发生,那么PLC将调用中断OB块。
3.2PLC的存储器 S7-1200PLC提供了以下3种存储器,用于存储用户程序、数据和组态数据等。

1.装载存储器装载存储器是一个非易失性存储器,用于存储代码块、数据块、工艺对象和硬件配置等。
这些对象被下载到PLC中后,首先存储在装载存储器中,然后被复制到工作存储器中运行。
每个S7-1200PLC均有装载存储器,装载存储器的大小取决于使用的PLC的型号。
装载存储器可以用外部存储卡来替代,如果未插入存储卡,那么PLC将使用内部装载存储器;如果插入了存储卡,那么PLC将使用该存储卡作为装载存储器,即使使用大容量的存储卡,也无法扩展装载存储器的容量。
用户程序中的符号名和注释也可以被下载到装载存储器中,方便用户的调试和维护。

2.工作存储器工作存储器是一个易失性存储器,用于存储与运行相关的用户程序代码和数据,在执行用户程序时,PLC会将用户程序的一些内容从装载存储器复制到工作存储器中。
如果工作存储器断电,那么数据将丢失。

3.保持性存储器所保持性存储器是一个非易失性存储器,当发生电源故障或者断电时,它可以保存有权限数量的数据。
这些数据必须预先定义为保持功能,如整个DB块、DB块中的部分数社版据、位存储区、定时器和计数器等。
保持性存储器不需要电池供电。
业出版究3.3数据类型子工版必数据类型用于指定数据元素的大小,以及如何解释数据。
在定义变量时,需要设置电盗30 第3章S7-1200PLC编程基础知识 变量的数据类型,每个指令参数至少支持一种数据类型,有些参数支持多种数据类型。
S7-1200CPU分为以下几种数据类型:基本数据类型、复杂数据类型、PLC数据类 型和指针数据类型等。
3.3.1基本数据类型 基本数据类型如表3-3-1所示。
表3-3-1基本数据类型 数据 长度 类型 /位 数值范围 常数示例 地址示例 I1.0,Q0.1,M50.7,DB1.DBX2.3, Bool
1 0或
1 1 Tag_name Byte
8 2#0
到2#1111_1111 2#1000_1001 IB2,MB10,DB1.DBB4,Tag_name Word16 2#0到2#1111_1111_1111_1111 2#1101_0010_1001_0110 MW10,DB1.DBW2,Tag_name USInt8 0到255 78,2#01001110 MB0,DB1.DBB4,Tag_name SInt
8 -128到127 +50,16#50 MB0,DB1.DBB4,Tag_name UInt 16 0到65535 65295,
0 MW2,DB1.DBW2,Tag_name Int 16 -32768到32767 -30000,+30000 MW2,DB1.DBW2,Tag_name UDInt32 0到4294967295 4042322160 MD6,DB1.DBD8,Tag_name DInt 32 -2147483648到2147483647 -2131754992 MD6,DB1.DBD8,Tag_name -3.402823e+38到 Real 32 -1.175495e-38,
0,+1.175495e-38到 123.456,-3.4,1.0e-
5 MD100,DB1.DBD8,Tag_name +3.402823e+38 -1.7976931348623158e+308 LReal64 到-2.2250738585072014e-308,
0,+2.2250738585072014e-308到 12345.123456789e+40,1.2e+40 DB_name.var_name 有TIME32版权所DATE16出版社Time_o 32 业究f_Day +1.7976931348623158e+308 T#5m_30sT#-24d_20h_31m_23s_648ms到 T#1d_2h_15m_30s_45ms—T#24d_20h_31m_23s_647ms TIME#10d20h30m20s630ms D#2009-12-31 D#1990-1-1到D#2168-12-31 DATE#2009-12-31 — 2009-12-31 TOD#0:0:0.0到TOD#23:59:59.999 TOD#10:20:30.400TIME_OF_DAY#10:20:30.—400 电子工盗版必31 西门子S7-1200PLC编程及应用 数据类型Char WChar 长度/位8 16 数值范围16#00~16#FF16#0000~16#FFFF 续表 常数示例 地址示例 'A','@','ä','∑''A','@','ä','∑',亚洲字符,西里尔字符及其他字符 MB0,DB1.DBB4,Tag_nameMW2,DB1.DBW2,Tag_name
1.整数的存储 在计算机系统中,所有数据都是以二进制数的形式存储的,整数一律用补码来表示和存储,并且正整数的补码为原码,负整数的补码为绝对值的反码加
1。
USInt、UInt、UDInt为无符号整型数;SInt、Int、DInt为有符号整型数,其最高位为符号位,符号位为“0”表示正整数,符号位为“1”表示负整数。
示例:计算短整型数(SInt)78和-78对应的二进制值存储值。

(1)正整数的存储。
短整型数(SInt)78将被转换成二进制数01001110进行存储,该二进制数即正整数78的补码(也是原码),其转换方式如图3-3-1所示。
图3-3-1短整型数(SInt)78的转换方式
(2)负整数的存储。
短整型数(SInt)-78将被转换成二进制数10110010进行存储,其转换过程如图3-3-2所示、存储结果如图3-3-3所示。
|-78|=78的原码:01001110反码:10110001补码:10110010 图3-3-2短整型数(SInt)-78的转换过程 图3-3-3短整型数(SInt)-78的存储结果 所有
2.浮点数的存储版权在计算机系统中,浮点数分为Real(32位)和LReal(64位)两种,不一样的存储社长度,其记录的数据值的精度也不一样。
浮点数的最高位为符号位,符号位为“0”表示版正实数,符号位为“1”表示负实数。
业出究示例:浮点数的存储,计算浮点数(Real)23.5对应的二进制值存储值。
工必对于Real型浮点数,其数据存储方式和计算公式如图3-3-4所示。
电子盗版32 第3章S7-1200PLC编程基础知识 图3-3-4Real型浮点数的储存方式和计算公式 浮点数(Real)23.5转换成二进制数的计算过程如图3-3-5所示。
图3-3-5浮点数(Real)23.5转换成二进制数的计算过程
3.字符的存储在计算机系统中,字符的存储采用的是ASCII编码方式。
ASCII(AmericanStandardCodeforInformationInterchange,美国信息互换标准代码)是基于拉丁字母的一套计算机编码系统。
ASCII主要用于显示现代英语和其他西欧语言。
ASCII是现今最通用的单字节编码系统,等同于国际标准ISO/IEC646,包含所有的大小写字母、数字(0~9)、标点符号等。
7位的ASCII表如图3-3-6所示。
示例:字符的存储,计算字符“A”对应的二进制值存储值。
通过7位的ASCII表可知,字符“A”对应的二进制数为01000001。
业出版社究版权所有图3-3-67位的ASCII表电子工盗版必33 西门子S7-1200PLC编程及应用 3.3.2复杂数据类型 复杂数据类型主要包括字符串、长日期时间、数组类型、结构类型。

1.字符串 如表3-3-2所示,S7-1200PLC有两种字符串数据类型:String数据类型和WString数据类型。
表3-3-2字符串数据类型 数据类型StringWString 长度(n+2)字节(n+2)个字 范围n=(0~254字节)n=(0~65534个字) 常量输入示例‘ABC’‘ä123@XYZ.COM’ String数据类型可存储一串单字节字符。
String数据类型提供了256个字节,第一个字节用于存储字符串中最大字符数,第二个字节用于存储当前字符数,接下来的字节最多可存储254个字节的字符。
String数据类型中的每个字节都可以是从16#00到16#FF的任意值。
WString数据类型可存储单字节/双字节较长的字符串。
第一个字节用于存储字符串中最大字符数,第二个字节用于存储当前字符数,接下来的字节最多可存储65534个字节的字符。
WString数据类型中的每个字节都可以是16#0000到16#FFFF的任意值。
示例1:String数据类型和WString数据类型在博途软件中的定义方法示例。
字符串可以在DB块、OB/FC/FB块的接口区和PLC数据类型中定义,String数据类型和WString数据类型在DB块中的定义方法如图3-3-7所示。
图3-3-7String数据类型和WString数据类型在DB块中的定义方法 示例2:字符串的传送方法示例。
用MOVE指令和S_MOVE指令介绍字符串的传送方法,如图3-3-
8。

(1)MOVE指令只能完成单字符的传送。
权所
(2)S_MOVE指令能完成字符串的传送。
子工业出版版必社究版图3-3-8字符串的传送方法电盗34 第3章S7-1200PLC编程基础知识
2.长日期时间 长日期时间(DTL)数据类型是使用12个字节的结构保存日期和时间信息的。
可以在DB块中定义长日期时间数据类型。
长日期时间数据类型及其结构元素分别如表3-3-3和表3-3-4所示。
表3-3-3长日期时间数据类型 数据类型DTL 长度/字节12 范围最小:DTL#1970-01-01-00:00:00.0最大:DTL#2554-12-31-23:59:59.999999999 常量输入示例DTL#2008-12-1620:30:20.250 表3-3-4长日期时间数据类型的结构元素 字节 组件 数据类型 值范围
1 年 UInt 1970~2554
2 月 USInt 1~12
3 日 USInt 1~31
4 工作日 USInt 1(星期日)~7(星期六)
5 小时 USInt 0~23
6 分 USInt 0~59
7 秒 USInt 0~59
8 纳秒 UDInt 0~999
999999 示例:在博途软件中定义长日期时间。
长日期时间可以在DB块、OB/FC/FB块的接口区和PLC数据类型中定义,在DB块中的定义方法如图3-3-9所示。
图3-3-9长日期时间在DB块中的定义方法 所有
3.数组类型权数组类型是由数目固定且数据类型相同的元素组成的数据结构,数组可以在DB块社版和OB/FC/FB块的接口编辑器中定义,但在PLC变量编辑器中无法定义数组。
版在定义数组时,需要为数组命名并选择数据类型“Array[lo..hi]oftype”,根据如下出说明编辑“lo”“hi”“type”。
业究(1)lo:数组的起始(最低)下标。
工必(2)hi:数组的结束(最高)下标。
电子盗版35 西门子S7-1200PLC编程及应用(3)type:数据类型选择,如Bool、SInt和UDInt等。
示例1:在博途软件中定义数组变量,如图3-3-10所示。
图3-3-10定义数组变量 示例2:数组元素的传送。
在图3-3-11中,MOVE指令将数组“数据块_3”.Array_1[0]的数据移动到数组“数据块_3”.Array_2[0]的地址中。
图3-3-11数组的寻址方法
4.结构类型结构(Struct)类型是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是数组等复杂数据类型或者PLC数据类型等。
结构类型嵌套结构类型的深度限制为8级。
结构类型的变量在程序中可以作为一个变量整体,也可以作为组成该结构的元素单独使用。
结构类型可以在DB块、OB/FC/FB块的接口区、PLC数据类型中定义。
示例:在DB块中定义一个电机变量的结构数据类型,它包含电机启动按钮、电机停止按钮、电机复位按钮、电机急停按钮、电机运行状态、电机故障状态、电机运行电流、电机运行频率和电机设定频率。
结构变量定义如图3-3-12所示。
子工业出版版必社究版权所有图3-3-12结构变量定义电盗36 第3章S7-1200PLC编程基础知识 3.3.3PLC数据类型 PLC数据类型(UserDataType,UDT)是一种由多个不同数据类型元素组成的数据结构,元素可以是基本数据类型,也可以是结构和数组等复杂数据类型及其他PLC数据类型等。
PLC数据类型嵌套PLC数据类型的深度限制为8级。
PLC数据类型可以在DB块和OB/FC/FB块的接口区中定义。
PLC数据类型可以在程序中被统一更改和重复使用,一旦某PLC数据类型被修改,那么在执行程序编译后,将自动更新所有使用该数据类型的变量。
示例:定义一个电机变量的PLC数据类型,它包含电机启动按钮、电机停止按钮、电机复位按钮、电机急停按钮、电机运行状态、电机故障状态、电机运行电流、电机运行频率和电机设定频率。
第一步:新建PLC数据。
在“项目树”窗格中,选择“PLC数据类型”选项,双击“添加新数据类型”选项,弹出“用户数据类型_1”编辑框。
第二步:添加变量。
在工作区中,添加变量名和数据类型,如图3-3-13所示第三步:使用PLC数据类型。
在DB块中使用新添加的PLC数据类型,如图3-3-14所示。
图3-3-13添加变量名和数据类型 版权所有图3-3-14PLC数据类型的使用版社3.3.4指针数据类型业出究VARIANT类型的参数是一个可以指向不同数据类型变量(而不是实例)的指针。
工必VARIANT指针可以是基本数据类型(如Int、Real)的对象,也可以是String、长日期时电子盗版37 西门子S7-1200PLC编程及应用 间、结构类型的Array,或者PLC数据类型的Array。
VARIANT指针可以识别结构,并指向各个结构元素。
VARIANT类型的操作数不占用背景数据块或工作存储器空间,但是占用CPU存储空间。
VARIANT类型的变量不是一个对象,而是对另一个对象的引用。
在函数块的块接口中的VAR_IN、VAR_IN_OUT和VAR_TEMP中,VARIANT类型的单个元素只能声明为形参。
因此,不能在数据块或函数块的块接口静态部分中声明。
表3-3-5列出了VARIANT指针的属性。
表3-3-5VARIANT指针的属性 长度/字节
0 表示方式符号 绝对 格式操作数数据块名称.操作数名称.元素操作数数据块编号.操作数类型长度(仅对可标准访问的块有效) 示例输入MyTag“MyDB”.Struct1.pressure%MW10 P#DB10.DBX10.0INT12 3.4地址区及寻址方法 博途STEP7软件支持符号寻址和绝对地址寻址。
为了更好地理解PLC的存储区结构及其寻址方式,本节对PLC变量引用的绝对寻址进行说明。
3.4.1地址区 S7-1200CPU地址区包括过程映像输入(I)区、过程映像输出(Q)区、位存储(M)区和数据块(DB)区等地址区,地址区的说明如表3-4-1所示。
表3-4-1地址区的说明 地址区 可以访问的地址单位符号 说明 输入位
I 过程映像输入(I)区 权所有过程映像输出(Q)区业出版社究版位存储(M)区 输入字节输入字输入双字输出位输出字节输出字输出双字位存储区位存储区字节存储区字存储区双字 电子工盗版必38 IB CPU在循环开始时从输入模块读取输入值并将这些 IW 值保存在过程映像输入表中 ID
Q QB CPU在循环开始时将过程映像输出表中的值写入输 QW 出模块 QD
M MB此区域用于存储程序中计算出的中间结果 MW MD 地址区数据块(DB)区 局部数据I/O输入区域I/O输出区域 第3章S7-1200PLC编程基础知识 可以访问的地址单位数据位数据字节数据字数据双字 局部数据位局部数据字节局部数据字局部数据双字 I/O输入位I/O输入字节I/O输入字I/O输入双字I/O输出位I/O输出字节I/O输出字I/O输出双字 符号DBXDBBDBWDBDLLBLWLD 续表说明数据块存储程序信息,可以对数据块进行定义以便所有代码块都可以对其进行访问,也可将其分配给特定的FB函数块 此区域包含块处理过程中块的临时数据 <变量>:
P 两区域均允许直接访问I/O模块 3.4.2寻址方法
1.寻址规则 每个存储单元都有唯一的地址。
用户程序利用这些地址访问存储单元中的信息。
绝对地址由以下元素组成。

(1)地址区助记符,如
I、Q或
M。

(2)要访问数据的单位,如B表示Byte,W表示Word,D表示DWord。

(3)数据地址,如Byte3、Word3。
当访问地址中的位时,不需要输入要访问数据的单位,仅输入数据的地址区助记符、字节位置和位位置(如I0.0、Q0.1或M3.4)即可。
M3.4寻址方式举例,如图3-4-1所示。
出版社版权所有○A—存储器标识符;○B—字节地址;○C—分隔符;○D—位在字节中的位置;○E—存储区的字节;○F—字节中的位工业必究图3-4-1M3.4寻址方式举例 电子盗版39 西门子S7-1200PLC编程及应用
2.I区寻址方法 I区(过程映像输入区):CPU仅在每个扫描周期的循环OB块执行之前对外围(物理)输入点进行采样,并将这些值写入I区。
可以按位、字节、字或双字访问I区。
I区通常为只读状态。
I区寻址方法如表3-4-2所示。
表3-4-2I区寻址方法 数据大小位字节、字或双字 表示方法I[字节地址].[位地址]I[大小][起始字节地址] 示例I0.1IB4,IW5或ID12
3.Q区寻址方法 Q区(过程映像输出区):CPU将存储在输出过程映像区中的值复制到物理输出区。
可以按位、字节、字或双字访问Q区。
Q区允许读访问和写访问。
Q区寻址方法如表3-4-3所示。
表3-4-3Q区寻址方法 数据大小位字节、字或双字 表示方法Q[字节地址].[位地址]Q[大小][起始字节地址] 示例Q0.1QB4,QW5或QD12
4.M区寻址方法 M区(位存储区):用于存储操作的中间状态或其他控制信息。
可以按位、字节、字或双字访问M区。
M区允许读访问和写访问。
M区寻址方法如表3-4-4所示。
表3-4-4M区寻址方法 数据大小位字节、字或双字 表示方法M[字节地址].[位地址]M[大小][起始字节地址] 示例M0.1MB4,MW5或MD12
5.DB区寻址方法 DB区(数据块区):DB区用于存储各种类型的数据,其中包括存储操作的中间状 有态或FB块的背景信息参数等。
可以按位、字节、字或双字访问DB区。
DB区一般允许所读访问和写访问。
DB区寻址方法如表3-4-5所示。
权表3-4-5DB区寻址方法 社版数据大小版位出字节、字或双字 表示方法DBX[字节地址].[位地址]DB[大小].[起始字节地址] 示例DB1.DBX2.3DB1.DBB4,DB10.DBW2,DB20.DBD8 电子工业盗版必究40

标签: #马自达 #证书 #网页 #全屏 #coat #网页浏览 #文件 #文件夹加密