IEC 6-1131/3的5种标准编程语言

        用于开发控制系统和商业管理系统的TRACE MODE6编程工具面向不同领域的软件工程师. TRACE MODE6包含的五种编程语言为:Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL.IEC 6-1131/3 TRACE MODE 6 controller programming languages

这些语言是下列IEC 6-1131/3标准语言的扩展:

  • SFC(顺序功能图);
  • LD(梯形图);
  • FBD(功能块);
  • ST(结构化文本);
  • IL(指令表).  

        TRACE MODE6 IEC 6-1131/3编程语言中包括3种可视化的编程语言(FBD、SFC、LD),针对的目标用户是工程师和商业分析人员;2种面向过程的(ST、IL)语言,面向程序员。使用TRACE MODE6 IEC 6-1131/3语言,你可以同样方便的对控制器、人机界面算法、企业资产管理和制造执行系统的逻辑功能进行编程。TRACE MODE6提供的IEC 6-1131/3语言将强大的功能、易用性和低误差率完美的组合在一起.TRACE MODE6 IEC 6-1131/3编程语言不但完全遵从国际标准,而且包含了诸如带有典型控制算法的扩展功能模块库.

所有5种IEC 6-1131/3编程语言与TRACE MODE 6实时数据库的通讯机理都是相同的.  每个程序拥有一组参数,实时数据通过输入参数进入程序中,计算结果返回到输出参数. 参数与TRACE MODE 6通道属性,如控制器和输入/输出设备的实时输入/输出值、数据库单元或内部变量等相连接. 这样程序在一个周期间可以因为不同的数据线程处理而被多次调用.

         在TRACE MODE6集成开发环境中对使用IEC 6-1131/3语言开发的程序进行调试和编辑.用Techno FBD、Techno LD和Techno SFC语言开发的程序是在可视化编辑器中进行编辑和调试,在文本编辑器中对使用Techno ST和Techno IL语言开发的程序进行调试和编辑.用不同的语言开发的程序可以相互调用,嵌套。例如,一个用Techno FBD开发的程序可以调用一个用Techno ST语言开发的功能模块,该功能模块也可以使用Techno LD开发的子程序调用等等. 这种编程中的灵活性允许程序员、控制工程师和商业顾问高效的从事工程开发工作,他们中的每一个人都使用自己最擅长的程序开发工具从事自己的那部分工作.

编程语言的简要描述

Techno FBD语言针对的使用者是控制工程师. 对PID控制回路的编程而言,很难找到有比Techno FBD更合适的语言了. 使用Techno FBD开发的一个程序表现为一个图表,该图表由连接了输入和输出端的一系列功能模块组成. TRACE MODE6包含了超过150个标准功能模块。这些模块能完成的功能涉及领域很广-从最简单的逻辑操作到自适应调节PID回路控制。滤波、比例积分、微分控制、PDD、模糊控制、位置控制、脉宽调制变换、统计、三角法和集成的用于阀、泵、马达的现成控制算法模块-所有这些都作为标准功能模块包含在TRACE MODE6开发环境中.

Techno LD语言是为熟悉继电器逻辑图编辑的工程们准备的. LD编辑器看上去非常象FBD编辑器,这种程序是用"触点"和"线圈"组成,而不是功能模块. 在用Techno LD编写的程序中可以包括普通FBD功能模块,尽管TRACE MODE6的这一特色超出IEC 6-1131/3标准框架了.

Techno ST语言首先是定位给程序设计者使用的.它是一个与Pascal语言相类似的高级程序设计语言. 它支持矩阵(包括多维矩阵),类型变换监控程序,以及一些象DO - WHILE、REPEAT - UNTIL、FOR - TO - DO、IF - THEN - ELSE、CASE - OF的结构语句.

程序头是按照列出的参数自动生成的,从而可以节省编程时间. 使用字、标记、注解和数值常数用高亮颜色显示,就象在最新的可视化程序设计环境中所采用的那样. 用户可以自己设置颜色背景.

Techno IL是带助记指令的最简单的编程语言,有点类似于Assembler. 这种语言所以包括在IEC 6-1131/3中是为了适应低端控制器的编程需要。在任何处理器中,IL程序都很容易被转换为机器语言码,这样可以保证很快的程序运行速度. 然而,最新的控制器有相当强的性能,Techno IL事实上比之ST或FBD已经不占优势. 尽管如此,这种语言还是包括在TRACE MODE6中,目的是为了支持老式的设备. 这一事实本身再一次说明了IEC 6-1131/3的优越性所在.

Techno SFC程序设计语言是用来建立复杂算法的有效工具. SFC本身不是一种独立的语言. 一个用Techno SFC编写的程序看上去就象一个方框图,这个方框图由程序块(梯阶)、步间的转换和发生这些转换时所依赖的条件组成. 每个程序块,象每个转换条件一样,是一个用任何一种IEC 6-1131/3标准语言编写的程序. 这种语言用来编写批处理和商业应用程序非常方便. Techno SFC可以很容易的被工程师和商业分析员所掌握.

 用IEC 6-1131/3语言编写的程序可以在任何其它支持这种标准的编程平台上转换成TRACE MODE6. TRACE MODE6可以编译全部的5种IEC 6-1131/3语言程序,甚至包括机器码形式的SFC!这保证了程序实时 执行时的高速度
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ngRx 官方示例分析 - 4.pages

Page 中通过构造函数注入 Store,基于 Store 进行数据操作。 注意 Component 使用了 changeDetection: ChangeDetectionStrategy.OnPush. OnPush means that the change detectors mode will be set to CheckOnce during hydration. /app/containers/collection-page…

用ffmpeg把yuv格式转化为mpeg格式

http://blog.sina.com.cn/s/blog_5f5ad6a90100cs5k.html

方法:查询MongoDB数据库中最新一条数据(JAVA)

使用JAVA语言查询MongoDB中某个数据库某个集合的最新一条数据&#xff1a; MongoCollection<Document> cpu MongoClient.getDatabase("sysmgr").getCollection("cpu"); //获取所需集合 Document dbo cpu.find().sort(descending("time"…

NoPause/NoEmgAbort的任务 与后台任务的区别

NoPause/NoEmgAbort的任务示例 下面的例子显示了一个程序&#xff0c;可以监视控制器的错误并根据错误编号在发生错误时切换I/O On/Off。 Function main Xqt ErrorMonitor, NoEmgAbort : FendFunction ErrorMonitor Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 T…

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)(转)

出处&#xff1a;http://www.cnblogs.com/best/p/6582294.html 目录 一、界面预览二、PSD源文件预览三、工具分享四、资源说明五、素材下载网站六、下载去年八月时要做一个OA系统为了后台界面而烦恼&#xff0c;后来写了一篇博客&#xff08;《后台管理UI的选择》&#xff09;介…

Linux 查看服务器开放的端口号

在讨论这个问题前&#xff0c;我们先来了解一下物理端口、逻辑端口、端口号等计算机概念。 端口相关的概念&#xff1a; 在网络技术中&#xff0c;端口&#xff08;Port&#xff09;包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口&#xff0c;如ADSL Modem、集…

VC的文件路径为什么要用双斜杠

在编程时&#xff0c;打开文件的路径在用单斜杠时&#xff0c;会出现问题&#xff0c;例如&#xff1a; image cvLoadImage("C:\Users\lyb\Documents\Visual Studio 2013\Projects\smooth\Debug\pic.png", 0);这样的写法在编译时&#xff0c;不会出现编译错误&#…

FFMpeg中apiexample.c例子分析——解码分析

FFMpeg中apiexample.c例子分析——解码分析 收藏 我们直接从 video_decode_example() 函数开始讲&#xff0c;该函数实现了如何去解码一个视频文件&#xff0c;以 .mpeg 文 件为例。 &#xff08; 1 &#xff09;将缓存的末尾清 0 &#xff0c;从而确保读操作不会越界导致破…

[转]整理一些好的开源项目

首先说明&#xff0c;要想找开源项目&#xff0c;当然是Github&#xff01; 另外oschina上面也可能有你要的&#xff0c;这个是分类的链接&#xff1a;http://www.oschina.net/project/tags&#xff0c;比如这个是一个Python的相关开源资源&#xff1a;http://www.oschina.net/…

android是32-bit系统还是64-bit系统

转自&#xff1a;http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 电脑CPU分32位和64位&#xff0c;这个我们都知道。用了这么长时间的android手机&#xff0c;突然有个疑问&#xff1a;android OS运行在多少位的CPU上呢&#xff1f; android应用程序是基于D…

海尔系列报道之一:海尔“小微”怎么玩

海尔去年裁了1.6万人&#xff0c;今年上半年裁了5000人&#xff0c;这2.1万人去了哪&#xff1f;除了被淘汰的部分&#xff0c;他们中的大多数去了169家小微公司. 从今年年初开始&#xff0c;海尔集团品牌总监范建斌就带着海尔品牌部的两个姑娘开始筹划做一个文化小微公司&…

FFMpeg中apiexample.c例子分析——编码分析

FFMpeg中apiexample.c例子分析——编码分析apiexample.c例子教我们如何去利用ffmpeg库中的api函数来自己编写编解码程序。 &#xff08;1&#xff09;首先&#xff0c;main函数中一开始会去调用avcodec_init()函数&#xff0c;该函数的作用是初始化libavcodec&#xff0c;而我们…

.net 常见异常及其翻译

System.Exception//所有异常的基类型System.ApplicationException//发生非致命应用程序错误时引发的异常System.SystemException//为System命名空间中的预定义异常定义基类System.SystemException//异常根类System.AccessViolationException//在试图读写受保护内存时引发的异常…

Access2010打开系统表MSysObjects的控制权限

一、显示系统表 第一步&#xff1a;单击左上角【文件】页签&#xff0c;点击【选项】打开选项对话框&#xff0c;如图所示 第二步&#xff1a;在【Access选项】对话框中&#xff0c;选择【当前数据库】&#xff0c;在【导航】栏下&#xff0c;点击【导航选项】打开【导航选项】…

抓屏的各种方法(http://www.codeproject.com/KB/dialog/screencap.aspx)

文章翻译自 P.GopalaKrishna 的 Various methods for capturing the screen 一文&#xff0c;原版地址见下面。本文章版权归原作者所有。 如果转载该译文 , 请保证文章的完整性&#xff0c;并注明来自 www.farproc.com 袁晓辉 2005/6/12 原版地址&…

与 OpenCV 1 同时使用

与 OpenCV 1 同时使用 目的 对于OpenCV的开发团队来说&#xff0c;持续稳定地提高代码库非常重要。我们一直在思考如何在使其易用的同时保持灵活性。新的C接口即为此而来。尽管如此&#xff0c;向下兼容仍然十分重要。我们并不想打断你基于早期OpenCV库的开发。因此&am…

第五周 Leetcode 99. Recover Binary Search Tree (HARD)

Leetcode99 给定一个 二叉搜索树&#xff0c;其中两个节点被交换&#xff0c;写一个程序恢复这颗BST. 只想到了时间复杂度O&#xff08;n&#xff09;空间复杂度O&#xff08;h&#xff09; h为树高的解法&#xff0c;还没想到空间O(1&#xff09;的解法。 交换的情况只有两种&…

Fedora15安装NVIDIA显卡驱动全过程

Fedora安装N卡驱动全过程 Fedora安装NVIDIA显卡全过程&#xff0c;经过自己亲自安装 折腾了一个上午&#xff0c;搞定了N卡驱动安装&#xff0c;现将安装步骤整理如下&#xff1a; 1、首先访问Nvidia官网下载最新的Linux驱动&#xff1a;http://www.nvidia.cn/Download/index…

板邓:wordpress自定义登录页面实现用户登录

首先检查用户是否已经登录&#xff0c;如果已经登录就返回info目录下的页面。 <?phpglobal $current_user;$loginuserid $current_user->ID;if($loginuserid){//如果已经登录header("Location:".get_bloginfo(url)."/info/"); exit;} 如果用户未登…