回复:应用探讨——SCL 编程语言使用探讨

万泉河

  • 帖子

    10900
  • 精华

    132
  • 被关注

    1009

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2013-09-15 22:43:45

106楼

90楼是高手。
希望有机会能切磋一下。

quote:以下是引用坏笨笨在2013-09-06 08:46:11的发言:
quote:以下是引用nucman在2013-08-20 10:06:16的发言:
借万泉河兄的帖子,我谈谈结构化编程的问题,其实如果规划好编程结构,不但能使接口清晰,适合团队合作共同开发,而且也能使每个人开发的FB或FC也容易很多,并且适合后期修改及管理。
如何规划,我个人的习惯是在需要SCL编程的FB或FC中全部采用内部变量,在输入和输出的定义中可以采用UDT也可以采用数组或者结构体,作为FB或FC的内外数据接口,SCL编写的FB或FC只对内部变量操作。
至于语法,其实并不复杂,可能刚开始时有些不习惯。尤其是在TIA Portal编程环境下,可以对指令直接进行拖拽操作,不用记忆方便快捷。其实最关键的是规划,是编程思想,这个东西其实在各种编程语言中都是相通的。

quote:以下是引用万泉河在2013-08-17 09:05:40的发言:
评价一个编程语言,个人认为比较重要的有两个方面:
1,语法。
2,资源的接口.

从语法及编程框架来说,SCL与其他高级语言非常相似,所以很容易上手。比如一段高级语言里面的程序脚本,很容易按照SCL的语法重构。
只不过,这里的语言语法太复杂,A:=1 ,等号前面还要加个冒号就让人很不适应.而后面还要补个分号啥的,也比VB等复杂。
程序调试中精力全放在这上面了。
讨厌。

而对于资源来说,我们的程序需要接口去从外围获得数据,并将结果输出到外部接口。因为用SCL通常是做FC,FB块,普通的I/O都是通过形参传进来的,而用的较多的是DB块。在PLC里面,DB块相当于电脑里面的文件。
在SCL中操作DB块,感觉很麻烦,需要对这个DB块整体做定义,而我其实只是访问其中一部分数据而已。
而如果多个SCL程序中用到同一个DB,就要重复定义。搞的就比较乱。当编译的时候就需要选择部分编译,否则就很容易把原块给冲掉了。


兄弟,你说出了我的心声,我正是这么干的,硬生生的把公司原来几百个块压缩成10几个块,而且复用性高,我把很多类似的设备都用udt描述了,传递到fb,现在做工程只不过现在拖拖拉拉调用块,指定设备类型,映射下IO而已,更本用不着做设备控制逻辑,统统用SCL写好了。最爽的一点,我把西门子人机界面的参数也做成结构体了,PLC内部变量映射到人机结构体,西门子人机我只要拖拉一个做好的结构体指定地址就完成了一个设备所有的参数。做工程完全变成了搭积木,而且我做成的设备接口(UDT结构描述)一成不变,给上位机开发者带来了很大的方便,甚至可以做成固定形式,一次开发就行。
微信公众号:PLC标准化编程,ZHO6371995
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。