登陆注册
10690600000001

第1章 圣珠

提要——IEC61131-3标准为变成PLCS(可编程序逻辑控制器)规定了一个通用的框架,这个PLCS包括四种编程语言和状态机的定义语言的完整定义。工业PLC供应商缓慢的为这个标准提供支持,然而微小的矛盾仍然存在于PLCS的实施中,由于不同的文件格式,供应商之间传递程序几乎是不可能的,授权一般太过昂贵以至于学生无法在自己的电脑上安装这些商业解决方案。

为此,在取得通用公共许可证后,作者们为IEC61131-3框架开发了一个正在提供给公众的集成开发环境。这个集成开发环境由图形用户界面和编译器后端组成。使用这种图形用户界面,用户们能够用四种编程语言中的任何一种开发程序,用国家机械定义语言也是一样。编译器后端用于将这些程序转变成等价的C++程序,这些C++程序随后会在多种多样的平台上编译和执行。

运用在工业环境中的PLCS(可编程序逻辑控制器)的扩散是它们有效性的象征。这些是随着时间逐步形成的,简明扼要的说,许多现代顶端PLCS都是伪装成经过充分训练的计算机,从而执行现代操纵系统。为了利用规模经济,许多供应商的PLCS里的计算机硬件有变得与个人电脑相似的倾向。

另一方面,用于不同供应商中的编程语言的多样性,随着他们日益增长的复杂性,已经导致程序员在转换PLC时需要更大量的学习时间。为此,IEC(国际电工委员会),一个国际标准体,为了用户在配置和设计工业控制器时为之创造通用的用户体验,已经核准了一些标准。这个标准中的一个叫做IEC61131-3的组件,定义了用户应该如何编制PLCS包括了编程框架以及几种编程语言。

然而,虽然相异的供应商PLCS中的硬件和软件方面都变得相似了,供应商们仍然能够用一些我们不讨论的技术将用户们锁定在自家的产品线上。

另外,就像其他任何编程语言,学习和熟练这些编程语言要求学生广泛的练习程序开发,因此从别人的错误中吸取教训。现存于供应商中的昂贵的特许教育使得学生在他们自己的个人电脑上安装IEC61131-3编程环境花费过高。因此,实践限制于少数能使用的和位于学校的工作站。

因此,为了所希望的对任何人免费使用的、没有限制的IEC61131-3,作者们开始着手于开发项目和IDE。为了发动宣传以及利用第三方愿意提供的任何帮助,在DPL下编码可以为公众获取。这个项目有两条主要要求,就是:

—严格遵守IEC61131-3标准

—跨平台支持

A。梗概

这篇论文描述了IEC61131-3集成开发环境的执行。经过第一部分对论文的介绍,第二部分会必要的给出IEC61131-3标准的简短概述。第三部分描述IDE的用户图形界面以及它的执行,而第四部分描述包含后端的IL和ST编译器。在第五部分中我们将通过一些关于IEC61131-3标准本身的评论得出结论,以及指出在未来工作中将要集中精力的方向。

IEC61131-3标准是一个通用的框架,这个框架尝试着建立所有PLCS都要遵守的定律,包括机械的、电力的、逻辑的部分。第三部分,IEC61131-3,处理工业管理的编程方面,定义了逻辑编程模块和编程语言。

这里有三种高级别编程模块:函数,功能块类型,程序类型。函数拥有和传统功能语言类似的语义,能直接返还单一的输出值。然而,除了一个或多个输入值(等价于变量当作值),函数也能用作输出的参量,或者同时当作输入和输出。函数语义描述了这些是等幂的,也就是说,无论剩余系统的情形怎么样,所有的拥有相同输入值的相同函数的装置总能恰好产出相同的结果,包括程序正在执行的时候。

功能块模型是和面向对象的语言级别相似的,都在拥有单一的公用成员函数上存在限制。功能块被实体化为变量,每一个都伴随着它们功能块状态自己的复制。功能块的功能缺乏不会直接回报任何值,但是,就像函数,会通过参量来传递数据作为输入,输出或者是双向的。

由于函数必须同前有效,所以它既不能实例化又不能叫出一个功能块实例。然而它能读取出功能块的输出或者双向参量的当前值。请注意,功能块实例必须传到功能中作为输入参量,作为一个不需举出功能块实例的函数。

程序类型和功能块十分的相似,例外的是功能块会仅仅在配置上被实例化,而不在其他函数、功能块模型或程序类型上。

一个配置是最高抽象层组成的程序结构。它不包括可执行编码,而相反的会实例化程序或功能块,创造和配置任务,分配程序和功能块到任务中。在通用操纵系统中,任务是和进程相似的,会周期性的执行或者当规定的布尔变量处于上升沿时执行。

程序块的三种类型会用一到两种文本语言(IL—指令语言;ST—结构化文本)或者两种图形化语言(LD—阶梯;FBD—功能块图解法)编程。

这个标准也为规格化状态机(SFC—顺序功能图)定义了图形化语言,状态机几乎全是基于能够同样应用在可编程功能块或者程序上的顺序功能图。由于状态机意味着状态的维修,SFCS不能同前有效就会无法应用到程序块上。请注意,没有返还到其他语言,仅仅用SFC图表写出完整的程序是不可能的,这就是作者们对于把SFC作为编程语言有疑虑的原因了。

三、图形用户界面

用户通过图形接口与IEC集成开发环境相互作用。这个图形接口能够让用户创造由几种IEC61131-3程序组织块(POUS)组成的项目。这些POUS在IDE左窗格的树形图中被列出。树上的每一个POU会扩大到展示它的界面变量,也展示内部变量(图1)。

图形编辑器与PLC开源规格有极大的联系。这个规格定义了一个描述五种IEC61131-3语言的XML语法。根据这项语法,所有此环境中编写的自动化程序都保存为XML文件格式。然后,与其他遵守PLC开源标准的IEC61131-3编辑器交换项目成为了可能。

这个图形编辑器是用Python编写的,而且使用的是绑定了有无异常处置机制的Python。这两种技术的应用使得在不同平台之间编码变得便捷,包括Windows和Linux。

所有的程序编辑器遵循MVC(模型视图控制器)的范例。用在第一个组分(也就是模型)上的对象类是定义在PLC开源规格上的官方计划动态生成的。将PLC开源规格未来的改变合并进编辑器的模型组分里面会因此完成自动化。

SFC,FBD,LD图形编辑器允许用户插入和删除程序元素这样就能不允许用户引进非法的布局。这些程序因此总是处于正确但可能不完整的状态。

SFC编辑器(图3)提供了一个可以插入初始步骤,步幅,转角以及过度收敛或者分歧的工具箱。这些元素(除了初始步骤)的插入一定总是以SFC中事先存在的元素为参考的。例如,为了插入一个过渡,用户必须首先选择关联的步骤。同样的,为了插入一个步骤,用户必须首先一个过渡或者步骤。如果步骤被选定了,编辑器会自动在步骤之间插入过渡。

模块负责将PLC开源图形语言(FBD和LD)转换为ST。这个部分是集成在图形编辑器里的,但是会独立使用。反向价值传播算法用来转换这些图形语言为ST。

转换也受制于可选择的可在集成编码中增加必须信息的调试方式。然后这些信息会用在执行期为用户确保状态反馈。

另一方面,图解SFC程序会转换为用来表达SFC程序的文本语法。这个文本语法,尽管不能通用,但已经被IEC61131-3标准化了。与文本ST和IL语言一样,由后端编译器负责编译表达用文本语法转换为等价的C++程序的SFC程序。

C。人机界面开发工具

作者们打算在几个方面继续开发项目。一个是集成工具(作者们称作SVGUI),用来允许用户或程序员为自动控制程序定义人机界面。这个会基于SVG(可伸缩矢量图形)开源W3C标准和描述矢量图形的XML语法。主要思想是用来使用户用任何一种标准SVG绘图软件例如Inkscape画出他们的人机界面,以及选择会参与在和自动化程序互动中的图形元素。

这个互动是通过使用wxSVG来做成的,wxSVG是一种使用了有无异常处理机制图形库的SVG渲染器。wxSVG的特性是在存储器中加载SVG文件进入现存的对象树里,也允许它接触图形元素。

一个小窗口程序库必须开发成用wxSVG图形元素为代表和交互。举一个例子,向量绘图画的矩形能够被定义成按钮,当点击时会改变形状和颜色,绕着屏幕移动。

在SVGUI中,外观不完全依赖于编码。不改变任何源编码就改变GUI外观是可能的。这就允许了图像创造可以交给图形设计师而交互可以交给程序员。在大多数GUI工具包中找到这方面是非常困难的。

SVG图像元素和窗口部件之间的联系是通过一个简单的XML文件完成的,这个XML文件宣明了哪个图像元素参与哪个窗口部件。所有使用的窗口部件都自动的产生相应的可应用在自动化程序上的功能块。每一个功能块实例符合于单个窗口小部件实例,每一个固定于一个变量。

运用这种体系结构,SVGUI会成为用C++编写的程序库。为其他语言开发的一些固

同类推荐
  • 剑指天下逆苍穹

    剑指天下逆苍穹

    有朝一日凡是辱我,骂我,欺我的我一定会讨回来。且看一个懵懂少年如何忍辱负重慢慢修成正果抱得佳人归。感谢阅文书评团提供书评支持!
  • 异界之成神记

    异界之成神记

    神,天地万物的创造者、主宰者。茫茫的混沌宇宙究竟何人为神,是西方世界中地狱的撒旦和他的恶魔,还是天堂的上帝耶和华和他的天使,亦或是奥林匹斯山上宙斯和他的众神,再或者是东方世界中天庭众神、各路仙家大能、高高再生的六圣、天道鸿钧?不是,他们都不是神。虽然他们都有着超凡的实力,被世间众人敬仰,但是他们并不能称为神,因为混沌大道之下,只有一类人可以成为神,而他们并不在其中……。传说中的世界,传说中的人。背叛、诱惑、绝望,经历百态,留我本心,方为神!
  • 绝世武厨

    绝世武厨

    这是一个元气浓郁的世界。受元气的滋润,这世界的人跟兽都拥有非常强大的实力。也诞生了很多厉害植株以及矿物。有的植株能够提升人与兽的战斗力,有的矿物能够让人飞天遁地,掌控自然之力。这些东西,被统称为奇物。使用奇物,一般都需要付出一定的代价。在人类可承受范围内的奇物,称为珍希奇物。那些人类承受不了的奇物,称为黑暗奇物。武云前世是个膳厨,决定用所有奇物做成增强武者实力的武餐!创造出这世界全新的职业:武厨!
  • 武道狂徒

    武道狂徒

    当众神将叶寒一家围在万皇殿时,当父亲拼尽全力送他出逃时,当所有血亲一一倒在血泊之中,叶寒孱弱的身影凌立在众神之下,他仰着天,眼眸锐利如剑,蔑视神威,冷声喊道:“我,凤歌皇朝大皇子叶寒!今若不死,他日必取你们顶上狗头,以祭我宗族!
  • 龙血武神

    龙血武神

    魔神指,世间至强秘宝,可将天下武道仙法纳为己用。少年敖空偶然间获得魔神指,从此一飞冲天!笑我天生废柴?神指一吸夺你一世修为!欺我势单力孤?单刀赴会灭你万世基业!脚踏大地、肩扛苍穹、拳碎星河,废柴少年却要登那仙道极巅……
热门推荐
  • 古文约选序例

    古文约选序例

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 蒂月救世传

    蒂月救世传

    一个梦,蒂月穿越到了倾江国公元2050年,无知、迷惑使她晕倒了......之后,蒂月含泪跨上救世之旅,一路上,她凭着百折不饶的毅力,拯救倾江的决心,克服种种困难,并结识了许许多多的真挚的朋友,他们陪同蒂月一起度过难关......
  • 懵懂的心:花已开

    懵懂的心:花已开

    那年,在路旁的烧烤摊,你还记得吗,我们光着膀子,一起喝啤酒,吹牛皮那年,我们一起分享彼此的快乐和忧伤,有多少眼泪,我看着你把它流光恋爱过,也失恋过。时间,慢慢地,这些被称为不成熟的感情会被遗忘?那,我们约定下,要把友情刻在心上
  • 天尸灭道

    天尸灭道

    开天辟地以来,诞生无数强者。清气上升曰天,天孕育者曰鸿,浊气下降曰地,地孕育者曰蒙。不知多少岁月,鸿食天灵地秀诞生了灵智,化人为女娲,始以盘古之气造人。又不知过了多少岁月,蒙食戾气邪念诞生了灵智,化人为穷极,修邪术为天尸。天尸现,万物灭,女娲出,天尸伏。穷极被女娲斩一为十,其中之一不知何时突破了封印,降生在了人界。且看明心如何将其余九个分身一一降服,最终成为天尸之路。。。
  • 斗灵邪帝

    斗灵邪帝

    预言师说他将毁灭半个大陆、占卜师说他的未来堆砌通天尸骨、灵战士、灵骑士、灵弓手、灵陷师、灵师、诅咒师、规则师盛世出英雄,千骄万杰、谁能笑傲同代,登临万古绝颠?他会告诉你,复仇者的血路,终点,将是凄迷的辉煌……御姐、萝莉、萌妹子、小辣椒,精彩尽在其中
  • 心有林希

    心有林希

    多年以前。许牧原路过她的身边,听她笑嘻嘻地在说:你们知道我为什么长成这样儿吗?因为我出生在凌晨两点,那是丑时啊!多年以后。许牧原坐在她的面前,听她一本正经地说:先生,你能帮我看着盘子吗?别让服务员收走了。结果他等了她一整个下午!他是低调内敛的内科医生,她是高调的贸易业务经理。看“表里不一”的林希,如何智擒“沉默的羔羊”。
  • 盛景

    盛景

    一宅风景,堪堪耗尽半生心血唯我心安,此处便是宅女故乡境遇好不好,靠打理楚景说,要跳出宅斗的格局搞宅斗夫婿无所谓,靠调教楚景说,要跳出夫妻的模式处夫妻只要有心,何处不是盛世繁华?
  • 全能召唤师妖孽四小姐

    全能召唤师妖孽四小姐

    她出生之时,天降祥云,龙吟凤舞,万兽欢腾,最后却被人封印,沦为废材。一朝重生,凤凰涅槃,她一扫往日的柔弱,父母失踪,斗嫡姐。半路蹦出几个美男,还死皮赖脸的跟着,怎么办?还是当免费苦力吧,毕竟还有某位霸道的美男看着呢!
  • 只爱你的偏执狂

    只爱你的偏执狂

    很多年以后,某杂志采访人人称羡的施氏夫妇时,询问他们对于多年来的夫妻生活有什么感想。施先生只说了四个字:得偿所愿。施夫人沉默了许久,什么也没说。她心底的答案是:压抑。自从她跟了他,成了他的女人,就注定成了他一辈子的渴求。
  • 殿下太妖孽,宠只狐狸生崽崽

    殿下太妖孽,宠只狐狸生崽崽

    狐九上辈子作为天地间唯一一只九尾灵狐,因白瞎了一双狐狸眼爱错了人,然后悲催地被灭族而亡。一朝转世为人,天才变废材,上神变乞丐,家破人亡,想修仙没灵根?不怕不怕,她有空间灵府做掩护,有灵兽耗子做打手,还有小灵湖帮着洗髓锻灵根。就算被所有人看不起,她照样过得潇酒自在。可是,这长得比神仙还俊的男人为嘛一来就找茬?她费尽心思弄的佳肴竟然被他比作猪食?他他他,欺人太甚。为了她这粗使的名誉她决定与他作对到底!什么,竟然叫她陪逛街?哼,姐可不是三陪,要找陪的上花楼找去什么?!他他他竟然是太子殿下?哎哟妈呀,这个殿下长得太撩人,害得她小心肝像被猫儿挠了又挠,就这样纠缠着纠缠着,滚成了永远解不开的团。