西门子PLC学习笔记五-(编程语言、数据类型)

1.编程语言

PLC的编程语言有STL(语句表)、LAD(梯形图)、FBD(功能块图)、GRAPH(顺序功能图)、SCL(结构化控制语言)、HiGraph(图形编程语言)、CFC(连续功能图)等。Step7中STL、LAD、FBD是基本的编程语言,并且在step7软件中可以进行自动转换。

2.数据类型

1)基本数据类型

2)复杂数据类型

复杂数据类型需要预先定义,其变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量。

Step7中支持的类型有:数组、结构、字符串、日期、时间、用户自定义类型、功能块类型。

A.数组

数组的维数为1~6,即最大是6维的。如下面的是3维数组的定义方式:

a ARRAY[1..3,1..5,1..7] INT

a表示一个3*5*7的三维整形数组,可以通过数组名加上下标方式来引用数组中的某个元素,如 a[2,3,4]

B.结构

例:Motor:STRUCT

Speed:INT

Current:REAL

END_STRUCT

C.字符串

字符串STRING是最多254个字符(CHAR)的一维数组,最大长度为256个字节(前2个字节是存储字符串的长度信息)。如’i‘m is string‘

D.日期和时间

日期和时间(DATE_AND_TIME)用于存储年、月、日、时、分、秒、毫秒和星期,占8个字节,用BCD码格式保存。星期1~7代表星期一到星期日

如:DT#2014-09-28-10:28:33.300表示2014年9月28号10点28分33.3秒

E.自定义类型

自定义类型(UDT)表示自定义结构,存放在UDT块中(UDT1~UDT65535),在另一个数据类型中作为一个数据类型“模板”。

例:把结构存与UDT1中,可以再数据库中定义数组abc ARRAY[1..10] UDT1.

上述的几种复杂类型在DB块中的定义如下图:

时间: 2024-11-05 20:31:20

西门子PLC学习笔记五-(编程语言、数据类型)的相关文章

西门子PLC学习笔记十五-(数据块及数据访问方式)

一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的"存储器".FB的参数和静态变量安排在它的背景数据块中.

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2.设计 使用西门子的Step7工具进行梯形图编程,完毕自己主动化控制. 使用西门子的WinCC5.5进行自己主动化人机界面的设计实现. 3.Step7进行编程的步骤 1)进行硬件组态 因为西门子的设备型号已经选定好,故依据实物的型号,先进行硬件组态,组态结果图例如以下: 注: 1.本图需和现场的实物连

西门子PLC学习笔记十三-(算术运算指令与控制指令)

今天在写一篇PLC的学习笔记,本篇将介绍PLC最基本的运算指令与控制指令,本篇将直接上截图. 1.基本算数运算指令 1)整数运算 2)长整数运算 3)实数运算 . STL编程示例(16位整数的算术运算) L IW10 //将输入字IW10装入累加器1的低字 L MW12 //将累加器1低字中的内容装入到累加器2的低字 //将存储字MW12装入累加器1的低字 +I //将累加器2低字和累加器1低字相加,结果保存到累加器1的低字中 +68 //将累加器1的低字中的内容加上常数68,结果保存到累加器1

西门子PLC学习笔记三(S7-300信号模块)

本篇为阳胜峰老师第二讲视频学习笔记 1.数字量模块 1)数字量输入模块 数字量输入模块将现场过程送来的数字信号电平转换成S7-300内部信号电平. A.数字量输入模块SM321(需要外接24V电源供电) SM321有四种类型的模块:直流16点输入.直流32点输入.交流16点输入.交流8点输入,其中常用的是直流的输入. 附图: B.数字量输出模块SM322(需要外接24V电源供电) 数字量输出模块SM322将S7-300内部信号电平转换成国产所要求的外表信号电平,可直接用于驱动电磁阀.接触器.小型

西门子PLC学习笔记四-(控制三项异步电动机的启动停止)

本篇是学习S7-300的一个小程序,用于对PLC开发简单直观的认识. 1.三项异步电动机电路图 2.PLC控制接线图 从图中可以看出控制按钮接PLC 信号模块SM的I0.0.I0.1端口,输出信号从Q4.1输出 3.PLC SM模块选择 1)输入模块选择 SM321 DI32*24V 2)输出模块选择 SM322 DO32*AC120/230/1A 4.硬件组态图如下: 5.编辑符号变量 6.编写梯形图程序 7.编写程序 程序解释: sb1_start使用开路符号表示:当接通时整条线路都接通,默

西门子PLC学习笔记一(S7-300简介)

使用了Step7有几天了,现在系统的学习一下,现记录一下学习的内容. 1.S7-300硬件结构 S7-300或者S7-400的PLC是模块式的PLC,各种模块式相互独立的,分别安装在机架上.硬件结构如图: DI:数字量输入模块,DO:数字量输出模块,AI:模拟量输入模块,AO:模拟量输出模块 2.S7-CPU模块 S7-CPU模块可分为紧凑型.标准型.革新型.户外型.故障安全型.特种型CPU. CPU312C表示是紧凑型CPU: CPU313C-2DP表示集成了PROFIBUS-DP协议的紧凑型

西门子PLC学习笔记十四-(用户程序结构及执行)

PLC用户程序的总体结构如下图: 1.组织块(OB):操作系统与用户程序的接口,决定用户程序的结构. 组织块是由操作系统调用的,用于控制扫描循环和中断程序的执行,PLC的启动和错误处理,不同的CPU可以使用的组织块不都一致. 常用OB块和其对应的优先级 上表中的OB1是循环扫描的主程序,其优先级最低.处理OB90不能中断OB1的执行外,其余的OB块均可以.OB100~OB102为启动组织块,分别代表CPU的三种启动方式,即暖启动.热启动.冷启动.OB100为暖启动组织块.OB101为热启动组织块

Python学习笔记五_数据类型(字符串)

已经学习过的数据类型包括:int.float.list.tuple.dict.这篇来单独记录下字符串.单独将字符串这种数据类型写出来,是因为python里有很多非常有用的字符串内置方法. 一.字符串定义 字符串可以存任意类型的字符串,比如名字,一句话等等. 1 name = 'Rebecca' 2 msg = 'Fighting' 二.字符串内置方法 1.常用方法 输出为字符串的方法 a = 'my name is Rebecca' print(a.capitalize()) #将字符串的第一个

西门子PLC学习笔记七-(位逻辑指令)

位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数为0,则常开触点"复位(断开)".常开触点使用的操作数是I.Q.M.L.D.T.C 2)常闭触点 在PLC中规定:操作数为1,则常开触点"动作(断开)":操作数为0,则常开触点"复位(闭合)".常开触点使用的操作数是I.Q.M.L.D.T.C 3)输