PLC梯形图指令表编程,输入指令STL S0显示如图问题,怎么解决?重装了软件也一样不行,用的GX Work2

&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
咱工程师的故事&
行业或应用分类
服务合作伙伴专区
&回复:应用探讨——STL 是不是真的就会被淘汰?
发帖数:3680
楼主&&&& 09:22:05
主题:应用探讨——STL 是不是真的就会被淘汰?
在S7-1500中STL运行环境是虚拟的,而且指令集真的很“精简”,是不是慢慢地就被淘汰了,希望各位大侠列举一些STL对比LAD的优点和缺点,看看有没有生存的空间了。活动奖励:此次集中交流将持续至8月6日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。对于有突出发言贡献的网友可获得西币奖励,可以在当前的中兑换奖品。交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!
发帖数:6461
精华帖:274
3楼&&&& 10:03:21
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
不会吧?STL被淘汰?那间接寻址、各种运算都用LAD或G来做?是不是有点本末倒置?STL的强项在寻址,在运算,LAD的强项在逻辑,这相得益彰,为什么要淘汰STL?
天生不宜做胜利者,自来没有胜利的欲望,只是不甘失败,十分十分不甘心失败。木心
发帖数:180
5楼&&&& 10:07:39
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
LAD是梯形图逻辑控制,是PLC使用最多的图形编程语言。LAD编写的程序,通俗易懂,容易上手,但编译成机器码后,LAD的程序会较为啰嗦,执行速度较STL慢许多,LAD编程适用于从电气控制转型到程序员的人员。STL语言类似于汇编语言,语言简洁,但可读性不如LAD,但其执行速度比较快,同时可以用作对知识产权的变相保护,适用于从计算机语言转型到自控领域的人员。许多老外都是先用LAD编写程序,之后转成STL语言下载到PLC中的。但STL语言编写的程序不便于后期对系统的维护,现场维护人员看到STL语言的程序头都会大两圈的,当设备出现问题的时候,用LAD编的程序可能一眼就能看出问题所在,但STL语言就有点困难了。用 STL能解决一些LAD语言解决不了的问题,同样的功能如果用LAD编写需要编写许多程序段才能实现,但使用STL语言编写的话,或许几行就搞定了。因此STL语言功能强大,但是较难学习,特别是间接寻址部分的指针方面的学习更加博大精深,功能强大。所以说,这两种编写怨言,各有所长,但对于中低端程序人员来讲,LAD语言的市场份额会相对较大一些。
我快乐,我自豪,我为自控添砖加瓦……
发帖数:869
6楼&&&& 10:28:02
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
有一定工作经验的人想学stl,可能就是弄lad被人鄙视了吧,呵呵。也听过别人说stl有多厉害,指针啊啥的,觉得很高深。放下cfc,sfc等不说,大多数工程师现在的编程主流还是lad,stl,scl,我大概分析了下,工程师手上学习stl的“学习资料”来源,其实也就是源程序:stl: 1.设备供应商程序,一般国内外在某个行业做了很多年的设备供应商配套的程序,历经了多年的发展,当初的标准功能开发语言就是stl,运行快,简洁,寻址功能强大。2.西门子编程实例,各种模块的使用,某种功能编程实例等由于lad不具备复制粘贴成文本的功能,且占用篇幅大还看不清,lad做文档不太合适,教早期的文档和老外的文档或翻译出来的文档基本就是stl了。那时候scl也不流行。3.编程的人似乎被“指针”概念强烈吸引,lad指针很弱,scl也是没有指针概念,可以使用any,pointer数据也是需要用at指令分开才能做逻辑运算。网上说起stl,铺天盖地的就是讲怎么用间接寻址。现在主要对功能块编程还是用起了scl,当年也痴迷过stl..
为什么lar1 p##xyz 在fb里能用,在fc就不合法,fb用ar1,ar2老出错(ar2在fb的特殊作用),傻傻记不住jcn,jnb,jc,ju,jl....跳转太多,不知道bec,beu,be搞这么多干嘛,cc,uc,call 什么时候用.现在编程依然还是会使用stl,lad,scl混编lad做bit逻辑,主逻辑清晰明了,stl做某段数据区的拆分转移,对dword,word等位拆分做逻辑都很方便,借助ar1,ar2,如通讯读写的数据区scl就不用说了。stl能完成它几乎无所不能,文本一样的复制粘贴随时拷贝的走。做好注释,可读性强有点天马行空了。想什么写什么。
发帖数:6264
精华帖:136
8楼&&&& 10:34:53
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
个人认为STL是8位CPU时代的产物,像累加器、状态字、地址寄存器,这些都带有Intel 51系列单片机的硬件痕迹。STL最大的问题是累加器的问题,各种指令的操作都是用累加器来完成的。所以需要用大量的L指令将数据传送到累加器1,用T指令将运算结果从累加器传送到别的存储单元。因此同样功能的程序,有累加器的CPU比没有累加器的CPU的长得多。很多年以前,Intal已经用96系列取代了51系列,解决了累加器带来的瓶颈问题。别的PLC(例如S7-200)的STL没有累加器。别的PLC的梯形图和语句表程序是可以双向转换的。但是300/400 的STL程序不一定能转换为梯形图,有的功能(例如间接寻址和LOOP指令)只有STL才有,梯形图没有,所以300/400的STL语言对于用户来说是很难回避的。STL最早用于S5系列PLC,S7考虑兼容性的问题,保留了STL。S7-1200没有STL语言,1500保留了STL,可能还是考虑S7-300/400程序的移植问题。从长远来看,当1500基本上取代了S7-300/400,STL是会被淘汰的。
发帖数:180
22楼&&&& 14:44:02
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
未来编程应该是更趋向于简单、快捷、高效,从这方便考虑的话,STL有可能会淘汰的,为了让更好的推广和应用PLC,LAD编程语言势必会赢得更多人的亲睐,个人认为未来的PLC会融合更强大的LAD编程质量,而逐渐淡化对STL语言的支持,毕竟STL语言现在只是流行在高手范围的一种编程语言。有些人LAD的编程学习起来还有些吃力,为了维护设备又不得不学,你让他们去学习STL编程,简直是对他们的一种蹂躏,一种摧残。毕竟STL应用的范围很小,学会了长时间得不到应用,就又淡忘了,但LAD不是,只要你知道如何去理解,忘记是很难的。
我快乐,我自豪,我为自控添砖加瓦……
发帖数:1017
30楼&&&& 07:39:05
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
不敢想真的会淘汰,那我以后又要花时间去学习SCL了,哈哈。其实计算机控制发展到一定高度,每个人都会广泛的接触到计算机高级语言,所以有一个庞大的基础支持SCL的发展。STL优点代码执行效率高,寻址快捷有效,个人觉得适用范围较为广泛,做模板程序是第一选择,缺点是易读性不是很强,我们现在做程序有些客户都会提出尽量不要使用STL LAD优点思路清晰,能够监控各个状态,检查问题,简化了维护工作量。缺点正是是STL所具备的优势,同样的功能LAD要使用很大的工作量来实现。所以STL淘汰未必,LAD也需要继续开发更强大的寻址功能,两者相辅相存。
我有什么,我凭什么
挣35岁以后的钱
发帖数:206
32楼&&&& 09:07:00
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
STL未必被淘汰,但是从应用趋势来看西门子主推SCL语言,尤其是STL的指针寻址,用SCL能够更简洁的方式去代替,从编写逻辑上来说:LAD可能比STL更加直观,况且复杂的运算SCL也绝对是优势的,而且现在大学生都在学习高级语言,门槛也就相对不高。综上:我觉得LAD+SCL的编程方式可能在今后的应用上更广。
No end for learning
发帖数:491
35楼&&&& 15:09:56
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
刚入行的时候,可能是处于更好的保护知识产权的考虑,公司里的西门子300程序全部都是由STL编写的,包括逻辑控制部分,程序是由一位高工开发的,可能是受到这位高工的影响,公司里的调试人员,都只用STL编写程序,自己也不例外,心中甚至还有一些鄙视梯形图,觉得只有用STL才显得有水平、高大上。一般技术人员都不容易看得懂,公司里也有这样一种氛围。。。慢慢的,自己编写程序调试项目,做了几个老外系统的改造项目,也认真看了些老外的程序,体会到了读STL时的晦涩,那些老外的程序逻辑控制用的是梯形图,数据处理用的是STL,自己也慢慢体会到梯形图的好处,开始用STL和梯形图混用起来,感觉编程、调试的时候真心方便。现在的想法是每种语言都有自己的特点,要扬长避短,才能做程序的主人,而不是受到某一种语言的绑架,成为其奴隶。在逻辑控制方面,梯形图编写的程序,无论是开发难度还是维护难度,都大大优于STL;而在数据处理方面,特别是涉及到和上位机大量的数据交换,用STL实现起来确实要灵活、方便、快捷很多。个人感觉,在推出一种在数据交换处理方面比STL更优秀方便快捷的语言之前,西门子应该不会淘汰STL的。指针和间接寻址是300/400的精华所在,也是西门子PLC高度灵活性的具体体现,西门子还是会继续保持其优势的。
工控生活、精彩人生
发帖数:2261
44楼&&&& 10:33:25
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
SIEMENS PLC编程语言的多样性体现了它的优越性,使得多种语言混合编程成为了可能,也让各类专业偏向的技术人员,都能用自己熟悉的语言开发和编程。也因为此,SIEMENS PLC用户还在不断壮大。STL语言类似汇编语言,是直接面向机器的操作语言。它代码精炼简短、执行效率高、指令最全、文本顺序编程、自由灵活、易读性欠佳。。。它是最基础的语言。技术总是在不断进步,如果有一种新的语言,功能全部超越STL时,STL就会被淘汰。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
发帖数:13653
精华帖:221
49楼&&&& 18:17:22
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
呵呵,淘汰倒是还不至于,但相对STEP 7 S7-300/400而言,工程师对STL的依赖程度会远远小于博图的S7-的STL语言,在博图中梯形图已经可以实现系统所有的编程功能,而前者却不能。由于专业背景的不同,编程语言的多样性,恰恰给不同专业背景的工程师以机会能对一个自动化系统进行编程,实现一个控制目的。我觉得西门子应该保持这种特点,至少在一种能被不同专业背景的人掌握的万能的编程语言诞生之前。
注册自动化系统工程师
Always save before download
发帖数:492
65楼&&&& 22:55:44
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
个人认为STL不会被淘汰,但可能会变换其形式,即此STL非彼STL,就像DOS操作系统,无论WINDOWS如何更新换代,微软都为DOS保留了命令窗口。STL毕竟是西门子软件的底层或基础,其编程和执行效率是其它语言无法替代的。各种语言都有其优点和缺点,西门子可能会为客户尽量提供越来越方便使用的编程方式,但不到万不得已,应该不会放弃STL这么优秀和有效的语言,至少作为一种选择,附带在今后的各种升级产品中,因为,它不会给系统带来多少额外负担,何乐而不为呢。虽然,现在已经没有多少人会用或甚至想起DOS,但关键的时候,可能它的作用是至关重要的,前不久,本人的笔记本系统出了一点问题,想用笔记本自带的一键恢复恢复到出厂状态,突然发现不知什么时候一键恢复不起作用了,最后,还是靠DOS的功底,经过一番折腾,将一键恢复重新找回了。
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
80楼&&&& 15:26:38
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
我想STL是会淘汰的,现在是讲究效率的时代,STL的可读性太差了,不是自已写的看了就头痛,所以一定会被淘汰。至于那些指针了,间接寻址,循环跳转等等功能,只要西门子推出对应的标准功能块不就解决了。就类似FB块功能,做好几个参数管脚,多方便使用。做成标准块后就可以对块进行保护锁定,只能使用,不能对其内部进行编辑修改,同时就具备了知识产权的保护。就现在的电脑办公软件来说,功能多强大,使用也很方便,这不就是因为做软件时把各种功能都做成了工具菜单,标准按钮的结果。。。
85楼&&&& 18:21:03
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
STL 相当于汇编语言,可以从汇编语言的发展来探讨STL语言的发展。1汇编语言不会消失,Linux内核,单片机,DSP,这些都是包含汇编的,特别是DSP大多是汇编与C语言各占一半。2汇编语言使用的地方会越来越窄,以前是受到硬件CPU、内存的限制,编程序考虑到内存等,随着硬件的发展,硬件对于程序开发限制会越来越少。3语言是工具,目的是完成项目。项目中可以使用LAD的,就不用STL,能用SCL的就用LAD,涉及到驱动的,就可以大胆用CFC。综上所述,STL不会消失,还会存在,应用面会越来越广。随着IEC61131-3的发展,语言走向了通用和多样式。
发帖数:1169
88楼&&&& 14:14:56
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
个人认为不会,LAD 取代不了STL,在STEP7平台中,LAD 连指针都不能使用,一个复杂的程序是避免不了使用指针的。但是在S7-1200中FC,FB好像取消了STL。LAD 的主要优势就是容易读懂吧,做些逻辑控制还行。而STL 可以做到LAD 能做的一切事情,从个人角度来说,我不希望STL 被取代,宁可SCL 取消,也不能把STL 取消。在STEP7 平台中LAD,FBD,STL,SCL 是不平等的LAD,FBD 都是先转换成STL,最后才转换成CPU操作系统可执行的机器码,因此在STEP7 +S平台下,FC/FB等程序块的编程语言可随意切换的。而在TIA 平台下,使用S7-1500 时,所有编程语言都是平等的SCL,FBD/LAD,STL 都是直接编译成机器码的。这也导致了,一旦某个块在建立时,编程语言确定后,就不能更改了,同时SCL语言源代码也不给删除了。这点估计让很多网友感到不爽!要想完全用STL 编程还是需要一定的编程功底的,同时,有时逻辑控制部分,我们希望用LAD 来做,这样逻辑看的比较清晰。最后,SCL也是很不错的语言 简单,尤其是指针用起来比STL简单多了,但是由于编程平台改变的原因,在TIA 中SCL源代码不给删除了。但是LAD,FBD,SCL 编出的同样程序 占用的内存比STL 大,这在STEP7+S7/300/400 平台下 大家可以看得很清楚。总之,在用SIEMENS 的PLC 精通STL ,你就搞定了 SIEMENS PLC 的编程!
人生就像一场旅行!
发帖数:492
90楼&&&& 19:13:59
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
长久以来,STL由于其使用要求的知识背景比较强,而使其可读性饱受病诟,其实在本人看来STL的可读性是西门子几种语言中最好的;由于工作性质,要求本人每天要使用不同厂家、不同设备的PLC,当客户打来电话时,需要在最短时间内,搞清楚客户的问题和故障原因,为此,PLC的可读性对本人至关重要,通过多年的摸索,总结了一些经验:1. 通过变量逐个加注增加程序可读性 PLC的可读性不仅仅指的是PLC作者本人可以轻易读懂PLC,而更体现在用户也能快速读懂PLC,而要想快速读懂PLC,无论是SCL、STL还是LAD,必须随时知道每个变量的确切含义,最好的方法就是对变量逐个加注;而只有STL的纵列单变量程序结构,才便于逐个变量加注,而这方面是SCL和LAD都不具备的。以上注释中不仅包含每个变量的含义,而且包含变量地址,当客户打来电话时,可以直接查询相应变量的状态,即便是客户对PLC一无所知也没关系,只要会在S7变量表中输入地址即可。2. 利用高级文本编辑器增加快速搜索性S7的搜索功能非常强大,但是,往往其搜索功能主要基于全局变量搜索,当搜索到局部变量时,往往有点力不从心,为此,本人的方法是,将所有源文件全部导出到某个文件夹下,利用高级文本编辑器,例如:UltraEdit,NotePad++等,的软件强大的搜索功能,能快速搜索到所有(全局和局部)变量的来龙去脉,在搜索列表中,只要双击变量,就可以打开相应的源程序并显示该变量在多个程序中的逻辑,以Notepad++为例:1) 在程序文件夹下用Notepad++打开其中某个程序,用鼠标选中某个变量或其中一部分,按住Ctrl+Shift+F快捷键,会直接弹出多文件搜索框:注意:第一次使用时要在Filter栏输入*.AWL或*.*,在Directory中选中程序文件夹。2) 在窗口下方会显示搜索到的包含该变量的程序和变量名以上方法,本人使用多年,并且基于西门子PLC的STL这种优点,而不是所有厂家都提供STL,为此,本人将这种方法推广到所有其它没有STL厂家的PLC,无论是C语言的,还是LAD的,都统统转换为类似STL格式,以便在最短时间内搞定客户诉求,百试不爽。以下是某厂家LAD转换为类似STL结构,第1列为程序标示,第2列为线圈搜索,第3列为程序,第4列为注释程序中&是‘与’, o是‘或’,等等自己定义的符号。无论将来西门子是否淘汰STL,恐怕本人是不会将其淘汰了(呵呵,还老学童,老顽固还才差不多)。
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
发帖数:4315
91楼&&&& 08:25:52
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
本人同意Automann的观点:如果用过单片机的汇编指令,就会感觉到STL与汇编指令差不多。STL是基于CPU内部控制器的指令,其编程需要涉及如累加器、状态字、地址寄存器等。即。这些都是CPU芯片硬件所致。STL最大的问题是累加器的问题,各种指令的操作都是用累加器来完成的。众所周知,累加器带来的瓶颈问题使控制任务的处理速度难以提高。随着CPU芯片的更新,没有累加器的CPU芯片必定要完全占领市场。故曰:STL是会被淘汰的,只是时间问题。
一日三省吾身
发帖数:492
92楼&&&& 10:09:16
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
廖老师和阿鸣老师认为STL必然会淘汰,主要的原因是累加器的瓶颈。个人认为累加器在西门子系统中从某种意义上说只是一种“传承”或“算法”,在CPU内部未必就必须要有物理累加器,就好比现在的声卡、显卡都未必是物理的,随着技术的发展,累加器可能只是虚拟的或者作为一种算法存在。如果要说瓶颈,其实随着计算机技术的发展,从某种意义上说所有现有的概念可能统统都会被颠覆,比如数据类型,现有的数据类型都是基于32位的概念,DW, REAL等等,而计算机已经进入64位时代,将来还会进入128位时代,但是,无论怎样,这些概念还是会传承下去,比如REAL很能会变为64位或128位,从而提高计算精度。WINDOWS现在的DOS命令窗口早已不是当年的DOS,但依然有其独特的作用和风采。
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
发帖数:6264
精华帖:136
96楼&&&& 08:32:20
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
STL语言中累加器的瓶颈问题举例累加器的瓶颈作用最大的弊病是导致大量使用L和T指令,显著地增大了指令的条数。另一个问题是不能转换为梯形图的概率很大,别的PLC一般是能相互转换的。举两个例子,下面是S7-300/400的循环异或运算程序,用MW50保存异或值,LW28是循环次数计数器,LD24中是地址指针。一共16条指令,其中13条是将数据装载到累加器的L指令和将数据传送出累加器的T指令。
MW [LD 24]
BACK下面是S7-200的循环异或运算子程序(可转换为梯形图),一共8条指令,使用了一条MOVB指令。LD
0, #异或结果BTI
#字节数B, #字节数IFOR
#循环计数器, 1, #字节数ILD
*#地址指针, #异或结果INCD
#地址指针NEXT300/400的STL具有梯形图没有的某些功能,这并非它的优点。1200的梯形图可以实现所有的功能。早期的CPU芯片的主频只有数MHz,存储空间也非常小。由于现在硬件的飞速发展,指令的指令速度和存储空间完全不用考虑,STL在这些方面的优点也毫无价值。厂家对编程语言应该考虑的是用户易于使用,简单方便,编写的程序简短,编程的效率高。STL显然不符合这些要求,因此被淘汰是必然趋势。
发帖数:2261
100楼&&&& 00:44:54
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
我也举个例子:在OB1里面写上L 2T MB10给字节赋值,LAD要捣腾好几次;还有一层含义:M10.0就是逻辑“0”,M10.1就是逻辑“1”,就两条语句,逻辑“0”和逻辑“1”都有了,LAD、SCL也要捣腾好几条语句,干嘛不用简单的STL去完成呢,多简单的语句。。。。。。。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
发帖数:492
101楼&&&& 10:15:40
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
个人认为几个程序无法说明语言的优劣,我想总坛主组织这个讨论的初衷也并非让大家争个你高我低,更多的是在STL或许淡出历史舞台之前倾听一下大家的心声或经验。无论SCL、STL、LAD等等都是西门子家族的一员,手心手背都是肉,我想西门子之所以在300/400更多推荐STL和LAD其主要原因是这两种语言成熟,占用系统资源少,STL无法转换成其它语言的根本原因是其语言精练,而其它语言转换成STL,都或多或少会多出很多辅助的东西,这些应该都是有目共睹的。作为高级语言SCL肯定在写程序时会越来越方便(可读性未必好,看谁写的),LAD视觉化也给没有语言背景的人带来快速的领悟,西门子整合SCL和LAD也是市场压力带来的必然趋势,但是仅仅因此就否定或将STL扫地出门,那会使STL蒙受千古奇冤,更会给很多习惯用STL写程序的人带来不便。绝大部分西门子标准功能块都是STL写的,从这个意义上说,西门子内部是不可能抛弃STL的,但是,为了给客户提供更加方便的应用,可预见的不久未来,以后编程会越来越“傻瓜化”,西门子将绝大部分常用的功能全部封装,用户只需动动鼠标,将各个功能拼装起来即可。用过Delphi或类似工具的人都知道写一个软件已经不是什么困难的事了,即便没有太多语言功底,但是用这种方法写成的“软件”占用系统资源之多,执行效率之低,本人不敢恭维;我坚信在未来西门子编程“傻瓜化”的背后,仍然是强大的STL在支撑着系统快速高效地执行。西门子不会也不应该淘汰STL,但是是否向客户开放,这就是西门子决定的了,引用Z版的那句名言:一切皆有可能。
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
发帖数:492
113楼&&&& 13:13:42
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
楼上这位大侠,个人认为“难于理解...尽快淘汰”没有直接关系,SCL对于“一线”人员就不难理解吗?下面一段程序是本人为一位坛友写的,用一个360°旋转的4位开关控制8个功能输出,本人故意用不太熟悉的SCL写的,原帖见:http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1137972&s_id=0&num=0#anchFUNCTION_BLOCK FBPlierControlVAR_INPUT
//启动END_VARVAR_OUTPUT
//命令输出
Qxy AT ComOut
:ARRAY[0..9] OF BOOL;
//命令输出(继承)END_VARVAR
//开关新状态
//开关当前状态
//开关原先状态
CuSwSt AT CSS
:ARRAY[0..7] OF BOOL; //开关当前状态(继承)
PrSwSt AT PSS
:ARRAY[0..7] OF BOOL; //开关原先状态(继承)
//开关状态第1次变化上升沿
AuxFpNssCh1
//开关状态第1次变化上升沿辅助
//开关状态第2次变化上升沿
AuxFpNssCh2
//开关状态第2次变化上升沿辅助
OutConsent
//命令输出使能END_VARNSS :=
SHR(IN:=IB0,N:=3);
//假定I0.3~I0.6接开关触点NSS :=
NSS AND B#16#F;
//右移3位后屏蔽其它信号IF NOT ON AND (NSS = B#16#1) THEN
CSS := B#16#1;
PSS := B#16#8;
OutConsent := TELSE
ComOut := W#16#0;
OutConsent := TEND_IF;IF ON THEN
CSS) AND (NSS = B#16#0) THEN
//开关状态第1次变化上升沿
FpNssCh1 := ((NSS
CSS) AND (NSS = B#16#0)) AND NOT AuxFpNssCh1;END_IF;AuxFpNssCh1 := (NSS
CSS) AND (NSS = B#16#0);IF (NSS
CSS) AND (NSS
B#16#0) THEN
//开关状态第2次变化上升沿
FpNssCh2 := ((NSS
CSS) AND (NSS
B#16#0)) AND NOT AuxFpNssCh2;END_IF;AuxFpNssCh2 := (NSS
CSS) AND (NSS
B#16#0);//开关状态第1次变化上升沿时,将‘当前状态’存入‘前个状态’,并禁止输出IF (NSS
CSS) AND (NSS = B#16#0) AND FpNssCh1 THEN
OutConsent := F
PSS := CSS;END_IF;//开关状态第2次变化上升沿时,将‘新状态’存入‘当前状态’,并输出使能IF (NSS
CSS) AND (NSS
B#16#0) AND FpNssCh2 THEN
CSS := NSS;
OutConsent := TEND_IF;END_IF;IF OutConsent AND (((CSS = NSS) AND ON) OR NOT ON) THEN
Qxy[0] := CuSwSt[0] AND PrSwSt[3] AND NOT ON;
Qxy[1] := CuSwSt[1] AND PrSwSt[0];
Qxy[2] := CuSwSt[2] AND PrSwSt[1];
Qxy[3] := CuSwSt[3] AND PrSwSt[2];
Qxy[5] := CuSwSt[0] AND PrSwSt[3] AND ON;
Qxy[6] := CuSwSt[3] AND PrSwSt[0];
Qxy[7] := CuSwSt[2] AND PrSwSt[3];
Qxy[8] := CuSwSt[1] AND PrSwSt[2];
Qxy[9] := CuSwSt[0] AND PrSwSt[1];END_IF;END_FUNCTION_BLOCKDATA_BLOCK DBPlierControl
FBPlierControlBEGINEND_DATA_BLOCK你认为这样写出的程序如果不加注释对于一线人员好理解吗?是否可以因此得出结论:希望SCL也尽快淘汰呢?或许你会说本人水平有限,那么再看看老外写的一个程序吧http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1133479&s_id=0&num=0#anch上面这个帖子程序通过OB35的一个定时中断,得到100毫秒...1小时的定时脉冲上升沿,对一线人员好理解吗?恐怕还不如STL来得简单吧!
人的生命似洪水在奔流,不遇着岛屿、暗礁,难以激起美丽的浪花。
发帖数:13653
精华帖:221
114楼&&&& 16:34:00
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
呵呵,学计算机的认为STL简单,学电气的认为LAD简单,学电子的认为FBD简单,搞工艺的认为GRAPH简单,搞算法的认为SCL简单,搞大驱动的还认为CFC简单呢!
注册自动化系统工程师
Always save before download
发帖数:341
119楼&&&& 22:48:31
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
不管淘不淘汰,事实的确在改变:1、自动化从业人员越来越多的是计算机专业出身,像SCL之类高级语言越来越受欢迎2、自动化编程受IT行业编程思想的渗透越来越强,随着自动化系统的越来越高的要求,远超过了原始PLC所谓的逻辑编程概念,大量的通讯与数据处理越来越多。3、像西门子的不管LAD还是STL都是基于地址寻址,符号表的地址更该需要去更改程序,而SCL不需要去更改程序,一切可以符号寻址,不用担心地址改变所带来的程序寻址地址更改。4、更直观傻瓜化的图形编程语言也是一种趋势吧
发帖数:2261
140楼&&&& 23:23:08
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
STL有LOOP指令,做循环相对简单些,我稍微修改了一下,您试试看。& & & LAR1 &P#0.0 & & & & & & & & & & & //初始化地址寄存器 (定义间接寻址的起始地址)& & & L & & #num1 & & & & & & & & & & & & //装载循环次数(#num1)NEXT: T & & LW & &20 & & & & & & & & //将循环次数暂存到临时变量& & & OPN & DI & & 1 & & & & & & & & & & &//打开背景数据块1& & & L & & DIB [AR1,P#0.0] & & & &//装载源地址里面的数据到ACCU1& & & OPN & DB & & 3 & & & & & & & & & &//打开共享数据3& & & T & & DBB [AR1,P#0.0] & & &//将ACCU1当前的内容写到目标地址& & & +AR1 &P#1.0 & & & & & & & & & & //地址寄存器1内容增大1个字节& & & L & & LW & &20 & & & & & & & & & & &//装载当前的循环次数& & & LOOP &NEXT & & & & & & & & & & //跳转到NEXT标签,循环次数减1至0时,离开循环往下执行
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
149楼&&&& 22:56:51
主题:回复:应用探讨——STL 是不是真的就会被淘汰?
一直在用STL编程,还没有用过其他的编程。但如果我们理解编程是对控制算法的翻译,最终编译成机器码,也就不难明白,用哪种语言只是对控制算法的外在表现形式不同而已。世界在变,我们也无法预知未来会变成什么样子。所以还是选择一种最适合自己所做项目的编程语言就好。因此,我们时刻要做好接受新事物的心态。程序是一个团队遵循一定的规则逐步建立的系统,绝不是个人所能,也不是一日之功。但它表现出各种秉性,只有洞悉其中的细节,才能掌握其习性。如果不去熟悉只能是自食其果。&——世间事皆有因果,没有无缘由的果,也没有没结果的因。
欢迎您来到技术论坛
在这里,可以将您的话题分享给大家。“发帖”即可与全国各地的自动化技术工程师进行最直接的交流、分享与学习。
看到您感兴趣的帖子,记得“回复”您的观点哦。
一个主题每人多次发言,适合过程的探讨与分享。
这里有西门子工控产品的探讨精华,有宝贵的经验分享。
点击精华帖列表,一览无余!
当您在项目中遇到疑难问题,
记得来这里获得众多资深用户的帮助与指导。
支持中心新发布“关注”功能了!实时查看彼此动态,更方便地进行技术交流。
不管是“关注”与“被关注”,相信都是一个美好的开始!
还有多重奖励派送,快快行动起来吧!
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

我要回帖

更多关于 三菱plc梯形图指令 的文章

 

随机推荐