PLC编程小白必知:关于SCL语言编程方法的简介
SCL :Structured Contorl Language,结构化控制语言。
在TIA博途软件中,默认支持SCL语言,在建立程序块时可以直接选择SCL语言。
SCL语言类似计算机高级语言,如果你有C、Java、C++、Python这种高级语言的学习经历,再学习SCL就会容易很多。
在用SCL语言编程时,主要用IF...THEN/FOR/WHILE语句去构造条件、循环、判断这样的结构,在这些结构中再次添加指令,去实现逻辑判断。所有程序的编写都是在纯文本的环境下编辑,不像梯形图那么直观。
今天就和大家聊一下关于SCL编程的基础知识:
变量与常量地址与符号寻址方式以上是PLC技术学习的基础知识,但凡懂一点PLC,对上面三部分内容应该都不会陌生。所以我也不打算把书本上的东西再重复一遍,这篇文章我只介绍在SCL中,上面三部分内容的使用以及与梯形图中的不同之处。
1、变量与常量
简单点来说,在程序运行时如果一个数据的值是不确定的我们就把它称作变量 。比如锅炉的温度,水流的速度,这些数据会随着时间(或者其他因素)波动。
反之,肯定会有一部分数据,不会受到外界的干扰,就是唯一值,这部分数据我们就称作常量 。比如一天有24小时,π=3.14。
常量的存在主要是为了存储一些固定的数值,在编程时使用常量能减少出错率。声明后的常量也比较容易修改。
举例来说,程序中如果有多处使用π,我们可以先定义π为常量,然后在编程时只需要把π带入公式即可,这样就能减少每次输入3.14出错的概率。后续维护时,想提高计算精度,我们可以直接在声明中改变π,使π=3.1415926,否则多处的数值改起来会相当麻烦。
无论是变量还是常量,在 TIA Portal 中按照作用的区域又可以分为全局和局部 。也就是我们常说的全局变量、全局常量,局部变量、局部常量。
全局变量 (或者全局常量)如果简单理解,大概分为两种,一种是在PLC变量表中建立的变量(或者常量)。还有一种是全局DB中创建的变量(或者常量)
全局变量可以被PLC中的所有程序使用,比较典型的就是PLC中的 I、Q、M存储区。
局部变量 (或者局部常量)一般是在FC/FB中建的变量(或者常量),也就是我们常说的内部变量(或者内部常量)
正常情况我们在某一个FC/FB中声明的内部变量,只会在该FC/FB中使用。但是TIA Portal软件中对该要求没有强制,也就是说FC/FB的内部变量也是可以被其他的FC/FB处理的。
在SCL编程时我们最好不要使用外部程序,处理内部变量,否则在程序移植时很容易出错。
2、地址与符号
变量的声明: 变量的声明有时候也叫变量定义,定义变量通常要指定变量的名称、数据类型,默认值等属性。
在SCL编程中,一定记住这个准则:变量要先定义后使用 。
变量的主要作用是用于存储数据,是数据存储的基本单元。声明变量就是向PLC的寄存器中,申请一块特定的区域用于存储数据。
这块区域的属性就是变量的属性,比如一个短整型变量占用2个字节,单精度浮点型数据占用4个字节。
在 TIA Portal 中声明局部变量会像上图中所示,利用表格的形式定义各种数据。
Input、Output、Inout这三种是FB对外的接口(形式参数),Static、Temp、Constant主要用于FB程序内部。
常量定义 :在声明常量时,并不像变量那样占用PLC的特定存储区域,所以常量也就没有绝对地址。因为常量就代表了特定的数值,在程序中也禁止修改常量。
上图是定义局部常量的方法,全局常量在PLC变量表的【用户常量】标签页里定义,如下图所示:
3、寻址方式
寻址就是我们对数据的访问方式,有绝对地址寻址 和符号寻址 两种。
PLC中的存储区域主要有四种:I、Q、M、DB。我们可以直接通过地址进行读取数据,比如 I0.0、MW10、DB1.DBW20。这种访问数据的方式就叫做绝对地址寻址 。
前面讲过,变量要先定义再使用,在定义变量的过程中,我们就赋予了绝对地址一个特殊的符号名称,通过定义的符号进行数据访问就是符号寻址。
在TIA Portal 中使用绝对地址编程时,软件会自动添加默认符号(博途不允许无符号名称的变量出现),并且增加了优化访问模式的DB。可见在S7-1200/1500编程中,弱化了绝对寻址。
SCL编程时符号寻址的书写格式:
DB块变量的寻址格式:"DB块名称".变量名称
PLC变量的寻址格式:"变量名称"
局部变量的寻址格式:#变量名称
上图是三种变量在SCL程序编写过程中,书写的格式,在编程SCL程序时需要严格遵守。
忘记书写格式时,可以通过拖拽的方式使用变量,或者使用软件的智能关联功能。
SCL编程时也可以使用变量前加 % 的方式使用绝对地址寻址,DB块变量的书写格式为%DB块号.变量地址。TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则保留绝对地址。
如果是PLC变量,也可以通过%变量地址的方式使用绝对地址寻址,TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则新建符号名称。
实操教学|实例解析PLC控制伺服电机的实现方式,电气工程师必学
今天为大家讲解的是关于PLC控制伺服电机三种方式:
一、转矩控制
二、位置控制
三、速度模式
1、转矩控制
转矩控制方式是通过外部模拟量的输入或直接的地址的赋值来设定电机轴对外的输出转矩的大小,具体表现为例如10V对应5Nm的话,当外部模拟量设定为5V时电机轴输出为2.5Nm:如果电机轴负载低于2.5Nm时电机正转,外部负载等于2.5Nm时电机不转,大于2.5Nm时电机反转(通常在有重力负载情况下产生)。
可以通过即时的改变模拟量的设定来改变设定的力矩大小,也可通过通讯方式改变对应的地址的数值来实现。
2、位置控制
位置控制模式一般是通过外部输入的脉冲的频率来确定转动速度的大小,通过脉冲的个数来确定转动的角度,也有些伺服可以通过通讯方式直接对速度和位移进行赋值。
由于位置模式可以对速度和位置都有很严格的控制,所以一般应用于定位装置。
3、速度模式
通过模拟量的输入或脉冲的频率都可以进行转动速度的控制,在有上位控制装置的外环PID控制时速度模式也可以进行定位,但必须把电机的位置信号或直接负载的位置信号给上位反馈以做运算用。
以SINAMICS V90系统为例说明。
SINAMICS V90 根据不同的应用分为两个版本:
1. 脉冲序列版本(集成了脉冲,模拟量,USS/MODBUS);
2. PROFINET通讯版本。
SINAMICS V90 脉冲版本可以实现内部定位块功能,同时具有脉冲位置控制,速度控制,力矩控制模式。
下图所示为脉冲串指令速度控制模式(PTI)下的默认接口定义,符合标准的应用习惯。
同时只允许使用一个脉冲输入通道,其他控制信号也可以自由分配到数字量输入和输出端子上,请参见操作手册。
数字量输入,支持NPN和PNP两种类型。接线图中的24V电源如下:
(1)用于SINAMICS V90的24V电源。所有的PTO信号都必须连接至使用同一24V电源的控制器,如SINAMICS V90。
(2)隔离的数字量输入电源,可使用控制器电源。
(3)隔离的数字量输出电源,可使用控制器电源。
SINAMICS V90 伺服驱动:
电机抱闸信号(仅用于 SINAMICS V90 200 V 驱动)。SINAMICS V90 200 V 驱动需要使用外部继电器来连接电机抱闸。
SINAMICS V90 脉冲序列版本的系统接线图:
SINAMICS V90 PROFINET 版本的系统接线图:
1、SIMOTICS S-1FL6 低惯量电机 SH20、SH30 及SH40 使用电缆型连接器。
2、此处所展示的抱闸电缆连接仅适用于 V90 400 V 驱动。V90 200 V 驱动需要使用外部继电器来连接电机抱闸电缆。
3、SINAMICS V90 PTI 驱动必须通过设定值电缆连接继电器,而 SINAMICS V90 PROFINET 驱动通过 I/O 电缆连接继电器。
4、必须使用 I/O 电缆来实现 SINAMICS V90 PROFINET 200 V 驱动的抱闸控制,并实现除 PROFINET 通讯之外需要额外 DI/DO 的应用。
来源:网络,如有侵权请联系删除
分享朋友圈,一起学知识!
相关问答
三菱FX1NPLC的连接和脉冲输出指令?
用m8034停止脉冲输出plsy时,脉冲对外输出没有了,但是脉冲输出的程序仍然在执行,直到脉冲输出指令执行完毕。所以你再断开m8034时,指令已经执行完毕,对外就...
学plc编程月薪能达到1万吗?
下面是第三个秘诀:写出高价格程序的秘诀。这一直是一些编程高手们不愿意对外泄露的秘密,因为用了这个方法,立刻帮你写出高价格的程序,彻底告别程序编写的痛苦...
如何学习PLC?
如何学习PLC我来分享一下之前自己学习PLC的经历。读书的时候没有接触过PLC实物,看看书了解了一下梯形图。但具体怎么样,系统架构和工作原理怎样都不懂。后来参...
欧姆龙PLC与PC的通信协议到底是什么回事?
欧姆龙目前对外公开协议都是用HOSTLINK做,在这个基础下老的有C-MODE,现在是FINS。再老的公开协议是Sysway协议。回一楼TCP/IP协议是网络传送层,这个和欧姆龙无...
Plc上的24p和24n是什么意思?
24p和24n是指PLC(可编程逻辑控制器)的数字输入/输出模块上的端口。其中“p”代表“positive”,即正极,而“n”代表“negative”,即负极。这些端口通常用于连...
PLC中辅助继电器m的特点?
辅助继电器是PLC中数量最多的一种继电器,它的代表符号是“M”,其作用相当于继电器控制系统中的中间继电器,可以由其他各种软组件驱动,也可以驱动其他软组件。...
PLC面板上标的各种输入输出接口代表什么功能?
你是西门子的PLC吧只有西门子才是O代表的是输出点,I代表但是输入点M一般是辅助继电器但是不会对外输出你是西门子的PLC吧只有西门子才是O代表的是输出点,I代...
西门子cp通讯模块介绍?
通讯模块CP接收PLCCPU的指令IM模块是用来内部扩展的,不对外接口,即使有导线相连,也是通讯模块CP在指挥Cp--是通讯处理接口模块有MODBUSDP协议等是PLC...
东莞plc培训班收费贵不贵?
[回答]东莞市汇缘教育plc培训学校的工程师告诉大家:plc的学习培训关键分成两大控制模块,计算机语言与操纵方法。plc語言简言之便是了解智能机器人干活儿的...
哪个公司的副业最让你震惊?
了解这个品牌的朋友们应该知道世界上有两个“Rolls-Royce”,一个汽车公司Rolls-RoyceMotors,一个航空和防务公司Rolls-Royceplc。这俩原本确实是一家子,上世...