内容包括ST语言、T形图介绍,GX Works2的ST语言环境介绍,ST语言编程示例。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!
目录:
一、ST语言、T形图介绍
1、ST语言
2、T形图
二、GX Works2的ST语言环境
1、创建工程
2、创建标签
3、开始写程序
4、写入与软仿真
1)编译   2)写入与读取   3)软仿真   4)其他说明
三、ST语言介绍

1、公用元素和程序组织单元
1)软件模型与编程模型   2)共用元素   3)数据的外部表示   4)数据类型
5)变量   6)程序组织单元

----------------------------------------------------------------------------------------------------------------
一、ST语言、T形图介绍
1、ST语言
发现网上PLC的ST编程资料极少。不过道理也很简单,因为做PLC的基本都是电气出身,梯形图类似于继电器逻辑,比较接近于他们的习惯。ST属于文本编程,符合单片机编程人员的习惯。兼职做PLC的人极少,我是一个例外。
由于我也只用过三菱PLC(支持ST语言)、了解过信捷PLC(不支持ST语言)。下面的使用仅以三菱PLC为依据,其他品牌若有出入,勿喷,欢迎补充。
下面是一个ST程序的例子:当X0接通时,打开Y0。
IF X0 THEN
    Y0 := TRUE;
END_IF;
很像C语言对不对?不过呢,建议写成下面这个样子(更简洁):
SET(X0,Y0);
SET、RST都是函数,传入参数就可以了,可以看帮助(第一个参数是触发条件,第二个参数是操作对象)。
----------------------------------------------------------
2、T形图
上面的例子这么写:

看到没,其实差不多。但是呢,当程序长了之后,就会发现:
1)梯形图臃肿,一页屏幕显示不了多少语句。
2)梯形图只能用软元件名,不能自己取一个有意义的名字。可以设置标签,但是只是输入时方便。写完后,显示不了标签。
而ST语言则可以,而且鼠标停靠时,可以显示注释。
----------------------------------------------------------------------------------------------------------------
二、GX Works2的ST语言环境
GX Works2支持多种编程方式:程序员风格的ST(Structured Text)语言、电气工程师风格的T形图、汇编语言式的指令表IL(Instruction List)、流程图风格的SFC(Sequence Function Chart)、门电路风格的FBD(Function Block Diagram)。
----------------------------------------------------------
1、创建工程

----------------------------------------------------------
2、创建标签
标签就是给软元件取名字,有名字,编程才流畅啊,谁记得那么多编号啊。有全局标签/局部标签,顾名思义,相当于C语言全局变量/局部变量。

要先设置软元件,回车就会自动帮你填好;然后再设置标签名。
----------------------------------------------------------
3、开始写程序
先写一个最简单的程序。

----------------------------------------------------------
4、写入与软仿真
1)编译
编译时会检查程序是否有错误。(相当于T形图中的“转换”)

------------------------------

2)写入与读取
将ST语言写入PLC,然后再读出来(顶部菜单-在线-PLC读取),ST工程无法读取,只有当工程是梯形图工程时才能读取。
不管哪种编程方式写的,写到PLC,再读出来的都是梯形图。好吧,原来不管是写入时还是转成T形图再写进入的。
------------------------------
3)软仿真

------------------------------
4)其他说明
对于这样的例子,让Y0等于X0。
写法1:
IF X0 THEN
    Y0 :=TRUE;
ELSE
    Y0 :=FALSE;
END_IF;
写法2:
SET(X0,Y0);
RST(NOT X0,Y0);
写法1虽然更直白,但是语句更多,写入到PLC的梯形图很复杂(如下图)。所以建议用第二种风格。

而第2种写法,则是下面这样的。

----------------------------------------------------------------------------------------------------------------
三、ST语言介绍
1、公用元素和程序组织单元
1)软件模型与编程模型
软件模型:描述基本的高级软件元素及其相互关系。这些元素包括:程序组织单元,即程序和功能块;组态元素,即配置、资源、任务、全局变量和存取路径。它是现代PLC的软件基础。
它分为输入输出界面、通信界面和系统界面3部分。
(1)配置:是语言元素,相当于标准所定义的可编程控制器系统。位于软件模型的最上层,可认为是一个特定类型的控制系统,它包括硬件装置、处理资源、I/O通道的存储地址和系统能力,即等同于一个PLC的应用程序。它将系统内所有资源结合成组,为资源提供数据交换的手段。

----------------
(2)资源:位于软件模型的第2层,为运行程序提供支持系统,是能执行IEC程序的处理手段。资源反映了可编程控制器的物理结构,为程序和PLC的物理输入输出通道提供了一个接口。
一个程序只能装入到资源中才能运行,其主要功能之一是提供程序和PLC物理I/O通道之间的界面。
----------------
(3)任务:位于软件模型分层结构的第3层,用于规定程序组织单元POU在运行期的特性,它是一个执行控制元素,具有调用能力。一个资源中可以有多个任务,一旦任务被设置,就可控制一系列程序组织单元周期地执行,或者根据一个特定的事件触发来执行。
任务表示形式

任务的输入参数
除任务名称外,还有3个输入参数,即SIGNAL、INTERVAL和PRIORITY属性。
----------------
(4)全局变量
在配置中声明的全局变量可在整个配置范围内使用,在资源中声明的全局变量只能在该资源范围内使用。在一个程序内声明的全局变量可以存取在该程序内部的功能块和函数。
全局变量被定义在配置、资源或程序层内部,提供了在两个不同程序和功能块之间非常灵活的交换数据的方法。
----------------
(5)存取路径
用于将全局变量、直接表示变量和功能块的输入、输出和内部变量联系起来,实现信息的存取。
编程模型:用于描述库元素如何产生衍生元素,也称为功能模型。其包括信号处理功能、传感器和执行器接口功能、通信功能、人机接口功能、编程、高度攻测试功能及电源功能等。

------------------------------
2)共用元素
(1)字符集
(2)标识符
确保所编写标识符的前6个字符是唯一的。
(3)分界符
(4)关键字
(5)空格与注释
关键字、标识符、分界符等内不允许包含空格,注释以(*开始,以*)结束。
----------------------------------------------------------
3)数据的外部表示
(1)数值文字
2#1111_1111=16#FF=10#255(10#可省略),数值的基不允许前置分界符(+或-),16#-340是正确的。
----------------
(2)字符串文字
由一系列通用的字节表示或$'、英文双引号"、$与16进制数字组成。注意:字符串可以是空串,如''或""。单字节字符串用双引号开始,不能用单引号开始。双字节字符串用单引号开始,不能用双引号开始。单字节字符串类型名STRING和#,如STRING# 'YES',双字节类型名WSTRING和#,如WSTRING# "YES"。

----------------
(3)时间文字
它用于表示时间。
持续时间

一天中的时间
Time of Day或TOD用于表示在一天中的时间,也称为时刻。如TOD#12:34:56和Time of Day#12:34:56等效。
日期
Date用于表示当天是某年某月某日。如D#2000-05-10。
日期和时刻
Date and Time或DT用于表示某年某月某日某时某分某秒某毫秒的时间。如DT#2008-05-12-14:28:04表示2008年5月12日14时28分04秒。
注意:持续时间文字中的数据可以缺省,如T#3h2s、T#5D38S等,但后3种时间文字中的数据不能缺省,只有当最小时间单位没有时,才可以省略该部分。

------------------------------
4)数据类型
基本数据类型

一般数据类型
用前缀“ANY”标识,

衍生数据类型

数据类型的允许取值范围和初始化

------------------------------
5)变量
与数据的外部表示相反,变量提供能够改变其内容的数据对象的识别方法。如可改变PLC输入与输出 或存储器有关的数据。变量被声明为基本数据类型、一般数据类型或衍生数据类型。
------------------------------
6)程序组织单元
函数

资料参考:https://download.csdn.net/download/liht_1634/85094724
----------------------------------------------------------------------------------------------------------------

基于GXWorks2的ST语言介绍相关推荐

  1. java开发 五大基于jvm的脚本语言_Java基础:五大基于JVM的脚本语言介绍

    [IT168 技术]JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实 ...

  2. 多个数字数组_三菱ST语言教学(2)——数组的使用

    上一篇文章介绍了ST基本指令的用法,和声明基本数据类型的标签,但标签除了可以声明单个的基本数据,还可以声明多个数据构成的数组(array),也可以声明结构体(struct)和功能块(function ...

  3. python语言简介-Python语言介绍

    原标题:Python语言介绍 Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其 ...

  4. 三菱st语言编程实例_LD、FBD、IL、ST、SFC、CFC六种编程语言的特点

    CODESYS共支持六中不同的编程语言,很多学者在学习的过程中常会问一个问题,哪种编程语言最好? 其实本人觉得没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有 ...

  5. 遍历结构体_三菱ST语言编程(3)——结构体变量

    上篇文章介绍了数组,是一组相同类型数据的列表,那么不同类型的数据能否组合到一起用一个标签表示呢?答案当然是可以的,而实现这个功能的就是结构体(struct). 建立结构体 在三菱结构化编程的界面中左侧 ...

  6. 中医学:—种基于隐喻认知的语言

    http://bbs.etiandi.com/viewthread.php?tid=1656 如果谁想研究.评判中医学,那么他必须清楚中医学的语言:在明白中医学使用的是一种什么语言的基础上,才能明白中 ...

  7. 三菱PLC编程与案例精讲之ST语言

    想看到如何使用三菱ST文本结构化编程语言来编写通讯程序吗,比如让你用ST编写Modbus代码.编写Socket代码.用ST控制伺服进行各种动作,用ST实现多轴联动,电子凸轮,应该怎么做吗? 第一章 S ...

  8. 前后端及常用语言介绍

    前后端及常用语言介绍 珞闻 来自: 珞闻(知行.) 2015-04-19 23:25:13 前后端的划分,可以简单地理解为凡是运行在用户设备上的技术都可以称为前端技术( 比如 HTML / CSS / ...

  9. 零基础自学R语言 1 R语言介绍 1.5 RStudio软件

    零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.5 RStudio软件 1.5.1 介绍 1.5.2 项目 1.5.3 帮助 1.5.4 使用技巧 1.5.4.1 使用历史命令 1. ...

  10. 基于C++的PL0语言编译器及功能扩充

    文章目录 一.实验介绍 1. PL0文法说明 2. PL0主函数 3. 词法分析函数 4. 语法语义分析 二.功能扩展 1. 功能扩充后的EBNF表示 2. 功能扩充后的语法表述图 3. 新增部分功能 ...

最新文章

  1. 首字母大写 -freeCodeCamp
  2. 机智云官网用到的库-grid.css我解析
  3. 利用OpenCV的convexHull和convexityDefects做凸包(凸壳)检测及凸包(凸壳)的缺陷检测
  4. C++ 中的 inline 用法
  5. 大粤桂谋定发展-丰收节交易会·林裕豪:从玉农业协作项目
  6. linux组手机nas,linux 搭建nas服务器
  7. Web框架——Flask系列之WTF表单验证练习(七)
  8. Python判断变量类型
  9. 【转】Cron表达式简介
  10. 带参数的update mysql_mysql参数sql_update 说明
  11. 配置主机间信任的一个简单办法
  12. java swing 复选JCheckBox组件美化
  13. 数字信号处理实验(MATLAB)
  14. ctf镜子里面的世界_在秋天遇见“冰雪世界”,好像老天给我变了个魔法
  15. linux让别人电脑蓝屏,教你如何让别人电脑瞬间蓝屏!只需要两个键,装逼神器,值得拥有...
  16. 最安全的邮箱大全排名,公司安全邮箱申请如何设置?
  17. 第二章:第二三节数据重构
  18. 如何向本地 PAC 中添加网站
  19. 平均值、标准差、相关系数、回归线及最小二乘法
  20. web应用程序开发过程(百度搬运)

热门文章

  1. sentinel卫星_关于“哨兵6号”迈克尔弗里利希卫星的五条信息
  2. 谭浩强c语言程序设计 在线,C语言程序设计_谭浩强.pdf
  3. 自动化、信息化、数字化、智能化,四化解析
  4. 方程根求解数值方法matlab实现二分法、牛顿法、斜截法,代码程序,手写思路,理论分析,最基本的操作
  5. 走进小作坊(十四)----web2.0策略指南
  6. 快应用如何避免JSON.parse()解析出错
  7. wps android版本下载,wps文档app下载-wps文档 安卓版v2.7.6-PC6安卓网
  8. java .jar怎么打开_java打开jar文件的方法
  9. 周边pd是什么意思_pd是什么意思 饭圈pd是什么意思
  10. 看完了张小龙的 2359 条饭否日记