技术论坛

应用探讨——Step7 各种编程语言对比及使用探讨

作者 主题
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
主题:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 楼主 2011-11-01 11:28:44
大家都有这样的经历,出行会选用不同的交通方式,有时步行,骑自行车,有时乘坐公交、地铁、开车或者打车,这取决于路途的远近、路况等实际情况,当然也取决于你拥有什么样的交通工具。Step7中同样也为自动化项目程序设计提供了不同的编程语言,提供了不同的编程选择。在很多工控论坛上或者实际项目程序设计过程中,一直有工程师对究竟该选用哪种编程语言比较好,孰优孰劣或者哪种语言是今后的发展趋势的相关话题的讨论。其实,就像交通工具一样,不能说任何一种出行方式就是绝对的好或者不好,它们都有自己的特点和适用人群、适用场合。同样的编程语言也是一样的,Step7各种编程语言(LAD、FBD、STL、SCL、GRAPH、Higraphy、CFC等)有不同的应用场合、应用对象及各自鲜明的特点。
关于具体编程语言的介绍,大家可以参照下载中心的编程手册:
1、编号:1007,用于S7-300和S7-400编程的梯形图(LAD)
2、编号:4032,用于S7-300 和S7-400 的功能块图(FBD)编程
3、编号:1008,用于S7-300 和S7-400 的语句表(STL)编程

开设此话题,欢迎大家可以就以下几个点畅所欲言,发表自己的看法,共同提高。
1、阐述自己使用的某种编程语言的感受、分享经验及心得;
2、LAD、FBD、STL、SCL、GRAPH、CFC等编程语言的特点及适用场合;
3、如何选择不同的编程语言,以缩短程序开发周期,提高编程效率;
4、如何编写出可读性强的程序、以使别人更快的读懂你的程序;
5、程序加密、保护,采用某些特定的编程方式,如何让别人读不了或读不懂你的程序。

活动奖励:
此次集中交流将持续至11月20日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。
对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选200分(含)任一款奖品。
交流结束后也将专门整理重要内容,供广大网友分享参考。
预祝大家交流愉快,收获丰富!
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=922742&s_id=0&num=78

侠圣

经验值: 4835
发帖数: 2050
精华帖: 22
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 1楼 2011-11-01 14:09:29
灵活地将多种程序设计方式结合起来,更能提高程序设计的效率和准确性!
个人感受:
1、电机启停连锁控制以及其他的非顺序逻辑控制,选用FBD或LAD方式可以提高控制程序开发效率,还能增加准确性。
2、顺序控制使用STL和Graph来完成。在STL中可以结合分程控制MCR指令和JL、JU指令来完成;而对于CPU315以上可以使用Graph编程实现(使用Graph设计顺序控制程序,综合效率高,修改方便)。
3、STL编程支持指针以及间接寻址,对于集中数据处理方面有很大的优势。比如数据采样、滤波、标定、多路报警设计。
4、SCL编程方式,为高级编程方式,主要用于算法设计。例如自己开发PID或其它一些高级算法程序。
5、对于大项目建议使用PCS7软件。利用CFC编程,融入TIA全集成自动化理念,实现自底而上的系统开发;再加上SFC相关选件,非常容易实现工程顺序控制可视化;集成的面板开发工具,工程人员能够快速高效的开发适用于自己行业的专业操作界面。
当然,在一个项目中能综合利用各种编程方式,势必能缩短项目的交货期!
<当然,并不是所有项目工程师的编程方式都一样!项目设计与个人的习惯和爱好是分不开的,不要强求或局限于某一特定的方式。要相信工业自动控制方案,没有最好只有更好,也要记得“殊途同归”>
No discussion, no outcome.
以下网友喜欢您的帖子:

  
侠圣

经验值: 4835
发帖数: 2050
精华帖: 22
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 2楼 2011-11-01 14:38:39
4、如何编写出可读性强的程序、以使别人更快的读懂你的程序;
5、程序加密、保护,采用某些特定的编程方式,如何让别人读不了或读不懂你的程序。


关于以上两点,我个人认为它们是对立统一、相辅相成
首先,完整的符号说明和注释是增强程序可读性的充要条件。其次,不同编程方式在一定的场合也起到了增强程序可读性的效果。比如:逻辑控制使用FBD和LAD方式能够能加程序的可读性;SCL用于实现高级算法具有高效的同时,在一定程度上复杂算法的可读性(相比STL语言);使用CFC实现控制对象的透明操作,更容易实现面向对象的程序设计,对于工程师而言可读性较高;利用Graph或SFC实现顺序控制,可读性好!


对于程序的加密和保护,是伴随程序设计的产生而产生的,这也是工程师对自己劳动成果的保护。<之前谈论过很多有关加密解密的方案,在此就不一一例举了>
我认为让别人读不了或读不懂你程序的方法如下:
1、将程序下载PLC,再上载上来(没有符号表、没有注释),即使是工程师本人这种情况下还要花相当时间来解读程序!
2、利用CFC编程,最后将CFC源程序删除(CFC编译的程序自动分配DB自动完成程序结构框架组织),就算是你亲自设计的程序,没有CFC你都看不懂,也不敢对程序做任何更改!
3、程序中加入自定义结构体变量。在程序设计完成后将自定义结构体变量名称用IN1、IN2等等来表示,即使不做任何的加密功能,解读程序也不会少花时间!
<就以上三种吧,其中第一种方案是个人认为最简单高效的解决方案>

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
No discussion, no outcome.
以下网友喜欢您的帖子:

  
奇侠

经验值: 9077
发帖数: 639
精华帖: 57
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 3楼 2011-11-01 16:50:43
1、严格来说,SIEMENS的LAD、FBD、STL、SCL、Graph、HiGraph、CFC等这些编程工具没有优劣之分,只有适用之分。什么样的项目规模、结构、价位、应用行业,以及客户特定要求和开发工程师的使用习惯等因素,决定了使用编程工具。总之,权衡适用性和性价比才是选用编程工具的决定因素。
2、以我为例,项目一般都有很多模拟量的炉控设备,规模偏大,且用户有集中监控、报警、曲线显示、报表等要求。因此,单纯的使用LAD、FBD、STL等这些工具就不能高效优质的完成任务,需搭配SCL、CFC等这些编程工具了。但由于用户有上位的集中监控、报警、曲线显示、报表等要求,所以也不能选用性价比不高的Graph、HiGraph这些编程工具。
3、如果项目主要是电气逻辑或顺序逻辑控制,就不要选SCL、CFC,应选LAD、FBD、STL这些编程工具;但如果顺序和时序逻辑关系及其复杂,不建议选用STL。
4、当然如果设备无上位的集中监控、报警等要求,且用户愿多出钱提高档次,可选用Graph、HiGraph等这些编程工具。
以上是我对SIEMENS编程工具的选择观点,也请各位补充或斧正!

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
大学之道,在明明德,在亲民,在止于至善。
以下网友喜欢您的帖子:

  
侠士

经验值: 1974
发帖数: 652
精华帖: 4
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 4楼 2011-11-01 21:19:23
我也来说说
1、阐述自己使用的某种编程语言的感受、分享经验及心得
一开始接触PLC时,看着LAD就和电气图一样,那时的书好像也只有这这一种语言,就是有别的语言那时也只能看懂LAD。,所以到现在喜欢用这一种语言来编程。LAD和电气图一样对我而言不需要加于什么思考很容易的把电气原理图就直接在脑子中转换成了LAD输入电脑。因为一接到项目在脑子中所先生成的是电气原理图。后来PLC普及了各种语言也多了。因比较少接触大型和较为复杂的计算,所看到和使用的大多是LAD。
2、LAD、FBD、STL、SCL、GRAPH、CFC等编程语言的特点及适用场合
对我来就LAD和电气图一样对我们而言不需要加于什么思考很容易的把电气原理图就直接在脑子中转换成了LAD输入电脑,别的和看天书差不多,要花不少时间去看特别是STL、SCL。
3、如何选择不同的编程语言,以缩短程序开发周期,提高编程效率;
我想适合自己的就是最好的。GRAPH、CFC能缩短程序开发周期,提高编程效率
4、如何编写出可读性强的程序、以使别人更快的读懂你的程序
按照工艺流程编写出的程序最有可读性强,使别人更快的读懂你的思想。
能让别人在短时间内看懂你的编程思路、思想、程序用意的程序就是最好的程序
5、程序加密、保护,采用某些特定的编程方式,如何让别人读不了或读不懂你的程序。
程序加密、保护在论坛中很有争议。我明天就要去面对这一问题,明天要和一家机械厂谈一合作,厂家想买一项目的程序,不知各位有什么好的建议?
程序加密、保护是保护自己也是保护厂商。本人的做法是在保修内会PLC上运行的程序加密保护,但会另外复制一份给厂商给他参考。
如果大家的程序都不注释没有实物参照,很多程序只能看懂这个是什么指令,而看不懂程序员的用意

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
学习再学习活到老学到老 http://lytea365.blog.163.com
以下网友喜欢您的帖子:

  
版主

经验值: 76166
发帖数: 19135
精华帖: 378
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 5楼 2011-11-01 23:58:02
1.只会语句表,梯形图
2.用最简单的指令,完成最复杂的任务
3.所有的变量只能有一次写操作
4.让别人轻松读懂每一句指令,却读不懂整段程序的意思
5.同样的程序,做不同的任务

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
奇侠

经验值: 6676
发帖数: 2327
精华帖: 19
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 6楼 2011-11-02 08:30:49
1、阐述自己使用的某种编程语言的感受、分享经验及心得;
如果项目中有比较复杂的数学运算的话,SCL的优势是显而易见的。
3、如何选择不同的编程语言,以缩短程序开发周期,提高编程效率;
顺控程序现在一直用LAD,下个项目有机会用下一Graph,感觉graph在顺控程序方面的优势应该也是比较明显的。

4、如何编写出可读性强的程序、以使别人更快的读懂你的程序;

我的习惯是
1:出现在每个变量都必须有注释,
2:工艺程序封装,
3:不同功能用FC 或者FB,在OB1中调用

5、程序加密、保护,采用某些特定的编程方式,如何让别人读不了或读不懂你的程序。
1:SCL编写,将源代码删除,这个方法挺好,
2:STL LAD编写的功能块用KNOW_HOW_PROTECT加密的话,感觉现在都形同虚设。解密软件太多了。
3:STEP 5.5好像出现了新的加密形式,没有用过。只是看过相关的帖子。
4:另外zane版主的从技术角度谈程序加密的文章大家都可以看一下,受益匪浅。

暂时就想到这么多,想好了,再补充。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6676
发帖数: 2327
精华帖: 19
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 7楼 2011-11-02 08:35:22
划痕的这一点我不是很赞同。
2、顺序控制使用STL和Graph来完成。在STL中可以结合分程控制MCR指令和JL、JU指令来完成;而对于CPU315以上可以使用Graph编程实现(使用Graph设计顺序控制程序,综合效率高,修改方便)。
顺控程序用STL做的话,感觉可读性要差一些。没有用LAD好,另外程序中不喜欢使用跳转指令,感觉对水平高的来说,可能还行,但是对于大多数用户来说,STL是比较弱的方面。当然我的STL也一般。可能是不熟,所以就感觉不好,纯属自己的看法,希望指正。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6676
发帖数: 2327
精华帖: 19
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 8楼 2011-11-02 08:38:34
见过最猛的加密方式:他将PLC的编程口的线倒一下。它的编程电缆也根据倒线的情况,也修改。
造成了它的plc程序只有它的编程电缆可以进行读写操作。哈哈

当然这个跟帖子有点不符,说说到加密,顺便说一下。
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7973
发帖数: 2355
精华帖: 73
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级3级


只看楼主 只看精华 9楼 2011-11-02 11:09:14
关于“S7-300/400 PLC中LAD、FBD、STL、SCL、GRAPH、CFC等编程语言的特点”,我个人也有些理解:
1、LAD语言的主要思想是依靠使能流的流向来进行编程;它的基本指令,采用的符号类似于电气继电器控制回路中的常开、常闭触点、和线圈来表达,而且编程顺序总是从左到右,至上而下,类似于设计好的电气控制原理图。使能流就如电气控制回路中的电流一般贯穿其中,直观、可读性较强;特别适合熟悉电气继电器控制回路的专业人员使用。调用子程序的场合也可以使用LAD。
2、FBD语言的主要思想来源于数字电路中的与、或、非、异或·····等各种门电路,它的基本指令采用逻辑门的方式来表达;而编程时,数字电路的高电平、底电平把各种逻辑门贯穿其中,直观、可读性较强;特别适合熟悉数字电路的专业人员使用。调用子程序的场合也可以使用FBD。
3、STL语言类似于汇编语言,SIEMENS的STL语言加入了较多二次开发的指令,主要是面向CPU操作的语言,比汇编语言稍高级;文本顺序编程方式;它的优点是:指令最全、代码精炼、体积较小、效率最高、功能最强大、编程灵活自由、能完成其它语言无法完成的工作、每条语句都能做独立的注释;它的缺点是:抽象、不容易理解、可读性不强;有汇编语言经验的专业人员比较喜欢使用。比较适合用STL语言来开发、和调用子程序!
4、SCL语言类似Pascal语言,结构严谨,具有C语言的思想,属于高级语言,做复杂数据计算和处理最佳;用作子程序的开发也比较适合,特别适合熟悉Pascal语言的专业人员使用,主要使用在复杂数据处理的场合,编译后生成S7程序才能使用。此语言工具需要单独安装,还需要独立的授权。
5、GRAPH语言类似图形编程,让人感觉有条理和直观,在顺序控制方面处理能力较强、特别适合实现各种顺序控制任务;此语言工具需要单独安装,还需要独立的授权。
6、CFC语言主要是用在各个功能和功能块之间用连线的方式来进行编程,连线方便,比较直观,是面向对象的语言工具!此语言工具需要单独安装,还需要独立的授权。
以上只是个人观点,仅供参考,希望能和大家进一步交流和提高!

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
以下网友喜欢您的帖子:

  
侠圣

经验值: 3980
发帖数: 577
精华帖: 18
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 10楼 2011-11-02 15:51:11
只会用LAD和STL,且能用LAD的地方尽量不用STL,因为LAD清晰直观
编程前制定命名规范,以便使每个变量名看一眼就大概知道其含义及用处

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
业精于勤,行成于思
以下网友喜欢您的帖子:

  
奇侠

经验值: 6334
发帖数: 1385
精华帖: 5
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 11楼 2011-11-02 16:21:34
1、顺序功能图(SFC-Seauential Fuction Chart)

这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。

西门子STEP7中的该编程语言是S7 Graph。

2、梯形图(LAD-LAdder Diagram)

这是使用使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。

梯形图由触点、线圈和用方框表示的指令构成。触点代表逻辑输入条件,线圈 代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。

在程序中,最左边是主信号流,信号流总是从左向右流动的。

不适合于编写大型控制程序。

3、语句表(STL-STatement List)

是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。

4、功能块图(FBD-Function Block Diagram)

功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图用类似于与门、 或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自 左向右。

5、结构化文本(ST-Structured Text)

结构化文本(ST)是为IEC61131-3标准创建的一种专用的高级编程语言。与梯形图相比,它实现复杂的数学运算,编写的程序非常简洁和紧凑。

STEP7的S7 SCL结构化控制语言,编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7973
发帖数: 2355
精华帖: 73
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 12楼 2011-11-02 19:11:41
关于:“哪种语言是今后的发展趋势?”我是这样理解的:
是的,以前在论坛上看到好几个帖子谈到各种语言的优劣和发展趋势的话题,点击率很高,参与者众多,讨论的非常热烈!我认为就SIEMENS S7-300/400 PLC而言,LAD、FBD、STL、SCL、GRAPH、CFC等编程语言,每种语言都有各自的长处和短处,我们更应该看到的是它们各自的长处,而不是短处,我们要充分利用它们各自的长处为我们使用!每种编程语言的存在,必然有它们的理由,理由如下:
一、(技术层面)起初,SIEMENS为了消除PLC单一编程语言的弱点,和减小使用者专业的局限性,SIEMENS努力开发适合相关专业人员的编程语言,能使更多的编程人员利用自己熟悉或者喜欢的语言去编程或者开发!
二、(市场层面)SIEMENS为了扩大市场、争取更多的消费者,开发了多种适合相关专业人员使用的语言,让尽量多的相关的技术人员使用SIEMENS的产品。消费者增多了,它的市场占有率也会逐步提升!也许编程语言的多样性是SIEMENS PLC市场营销的策略之一!

我以前使用过S5,当时S5编程软件运行在DOS操作系统的平台上,编程语言较少,随着各种技术的发展,S7替代了S5。我发现S7里面的编程语言增多了,原来S5的编程语言依然在S7里面保留下来。所以我认为:随着PLC技术的发展,我相信S7里面各种编程语言一个不少地依然会存在,而且我也相信还会有新的编程语言不断加入进来,将继续保持着SIEMENS PLC编程语言多样性的优势!

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
以下网友喜欢您的帖子:

  
至圣

经验值: 18406
发帖数: 6291
精华帖: 137
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 13楼 2011-11-02 21:00:23
quote:以下是引用九仙山人在2011-11-02 16:21:34的发言:
1、顺序功能图(SFC-Seauential Fuction Chart)

这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。

西门子STEP7中的该编程语言是S7 Graph。

……



不是原创,请注明出处。
追求完美
以下网友喜欢您的帖子:

  
至圣

经验值: 12236
发帖数: 2431
精华帖: 86
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 14楼 2011-11-02 22:19:18
从程序通用性及可读性角度,我们一般都用LAD,自己使用方便,交给用户后,便于日后维护,大多设备出问题的时候,打个电话,指点用户维修人员监视一下梯形图就能诊断出故障,也给自己省去很多麻烦事;但有时计算量较大或特殊算法,LAD实现起来困难的时候或涉及知识产权保护等就用LAD+SCL方式。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6676
发帖数: 2327
精华帖: 19
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 15楼 2011-11-03 08:00:59
关于SCL语言,还有一种好处是通用性。
实际上西门子叫SCL它就是ST语言。三菱和AB的PLC都支持这种语言,如果用SCL编写的工艺块或者程序的话,可以转换到别的PLC上去用。当然也要做一定的修改。
个人认为学好SCl还有有一定的必要性的。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1635
发帖数: 699
精华帖: 5
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 16楼 2011-11-03 09:24:58
入门使用LAD,进阶使用STL。我喜欢STL,因为它的范围最广,什么功能都可以使用,没有局限性,还有其他编程语言没有的优势就是指针指令的使用。在程序中合理使用指针指令对于简化程序有很大的帮助。
学如逆水行舟,不进则退
以下网友喜欢您的帖子:

  
奇侠

经验值: 7973
发帖数: 2355
精华帖: 73
回复:应用探讨——Step7 各种编程语言对比及使用探讨
精华帖精华帖星级2级


只看楼主 只看精华 17楼 2011-11-03 10:33:17
关于“如何选择不同的编程语言,以缩短程序开发周期,提高编程效率?”从事这个行业以来,我个人有些体会,愿与大家讨论和分享:
1、编程语言尽量选择自己熟悉的喜欢的编程语言,这样会提高编程的速度和正确率;
2、编程遇到的工艺设备中,将自己平时经常遇到的典型设备,比如:气动阀(带全开、全关限位)、皮带输送机(带拉绳开关、跑偏开关、速度检测)、开关量类型的步进电动执行器(带全开、全关限位和开扭矩、关扭矩保护)、软启动器、变频器、高压开关柜.......可以为这些典型设备的控制程序,用STL或者SCL开发功能较全的、通用的、可移植的FC或者FB,最好把与上位的接口也做在其中;自己开发这些FC、FB时需要调试好了,清楚每个形参的含义和用法,以备调用;
3、把平时自己开发的积累的FC、FB不断加到自己创建的S7库里面,这样每次编程遇到类似的工艺设备,就到自己创建的S7库里面去调用,这样就可避免重复编程,也可以提高编程的效率;增强程序的结构;
4、随着平时的积累,自己也可以总结一个自由的、可扩展的主程序架构,在每次编程时,都可以按照这样类似的架构组织主程序;然后在主程序或者子程序中可以采用自己熟悉的喜欢的语言调用自己开发的FC、FB或者系统自带的资源。

我的体会是:平时模板型程序的不断积累、良好的程序架构、混合语言的编程方式可以缩短程序开发周期,提高编程效率。

管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
以下网友喜欢您的帖子:

  
游士

经验值: 186
发帖数: 96
精华帖: 0
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 18楼 2011-11-03 12:08:02
quote:以下是引用jacky_andy在2011-11-02 08:35:22的发言:
划痕的这一点我不是很赞同。
2、顺序控制使用STL和Graph来完成。在STL中可以结合分程控制MCR指令和JL、JU指令来完成;而对于CPU315以上可以使用Graph编程实现(使用Graph设计顺序控制程序,综合效率高,修改方便)。
顺控程序用STL做的话,感觉可读性要差一些。没有用LAD好,另外程序中不喜欢使用跳转指令,感觉对水平高的来说,可能还行,但是对于大多数用户来说,STL是比较弱的方面。当然我的STL也一般。可能是不熟,所以就感觉不好,纯属自己的看法,希望指正。

赞同你的说法,我一直习惯LAD编程,其他的编程指令不是很熟悉,看的话,有点费力,根据帮助也能看明白,还是习惯用LAD,也许是我个人的编程能力差的缘故把,呵呵
打工不是问题,问题是打一辈子工...
以下网友喜欢您的帖子:

  
游士

经验值: 186
发帖数: 96
精华帖: 0
回复:应用探讨——Step7 各种编程语言对比及使用探讨


只看楼主 只看精华 19楼 2011-11-03 12:09:22
quote:以下是引用jacky_andy在2011-11-02 08:38:34的发言:
见过最猛的加密方式:他将PLC的编程口的线倒一下。它的编程电缆也根据倒线的情况,也修改。
造成了它的plc程序只有它的编程电缆可以进行读写操作。哈哈

当然这个跟帖子有点不符,说说到加密,顺便说一下。

这一招也太绝了把
打工不是问题,问题是打一辈子工...
以下网友喜欢您的帖子:

  
收起
应用探讨——Step7 各种编程语言对比及使用探讨
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。