2023-12-08 21:54来源:m.sf1369.com作者:宇宇
STL有点类似汇编语言,和机器码对应,无论哪种语言写的PLC程序都可以转换成STL查看,所以掌握基本的STL指令和语法是很有帮助的。另外STL直接操作寄存器,实现同样功能时可以减少运算量和寄存器调用次数,并且只关心数据类型的长度(例如不区分int和word),减少了数据类型转换,总的来说执行效率高,但实现复杂运算和逻辑时编程繁琐。
SCL类似于高级语言Pascal、C之类,可以通过简单的语句实现复杂的功能,逻辑清晰,在复杂数据类型的处理上也非常方便,虽然理论上执行效率比STL低,但实际一般不会有明显的影响。
另外,在同一个FC或FB中,STL可以和梯形图混合使用,而SCL编写的FC或FB不能混合其他语言
你在LAD中是直接输入的P#db20.0word20,在SCL中是不允许的,所以就需要用到ANY指针,其实就是把P#db20.0word20翻译成ANY格式的数据,所以需要了解ANY数据类型是怎么构成的(贴图不仅仅是针对SCL,在各种语言里面都是一样的)。ANY作为指针传递到DR中,最终的返回值并不是传递给ANY,而是ANY所指向的实际地址。改变了FB结构大不了停机下载,对于画面没什么影响的。
stl有点类似汇编语言,和机器码对应,无论哪种语言写的plc程序都可以转换成stl查看,所以掌握基本的stl指令和语法是很有帮助的。另外stl直接操作寄存器,实现同样功能时可以减少运算量和寄存器调用次数,并且只关心数据类型的长度(例如不区分int和word),减少了数据类型转换,总的来说执行效率高,但实现复杂运算和逻辑时编程繁琐。
scl类似于高级语言pascal、c之类,可以通过简单的语句实现复杂的功能,逻辑清晰,在复杂数据类型的处理上也非常方便,虽然理论上执行效率比stl低,但实际一般不会有明显的影响。
另外,在同一个fc或fb中,stl可以和梯形图混合使用,而scl编写的fc或fb不能混合其他语言
楼主你好 请注意正确拼写: mathematica,matlab,scilab 关于做什么: mathematica是由wolfram公司的数学软件,主要专注于符号计算领域 matlab是MathWorks公司的数学软件,主要专注于数值计算领域 Scilab是开放源代码的数学软件,由法国国立计算机及自动化研究院开发生产,其功能类似于matlab 关于功能上的区别: 首先,符号计算指的是符号解,例如:a*x=b,关于x的符号解为x=b/a;数值计算就是指近似的数值解,例如3*x=1,x的数值解为x=0.33333333; mathematica倾向于强大的符号、逻辑计算,当然数值计算也可以 matlab就倾向于工程计算、模拟仿真、数值计算,matlab没有自己的符号运算核心,其符号计算核心来自于滑铁卢大学的符号计算软件maple, scilab软件也是一款数值计算软件,不同的是,mathematica和matlab如果不购买的话,使用的都是盗版,而scilab却是开源的,意味着所有人都有权使用它。 关于难易程度: 个人认为,用心学习的话mathematica和matlab都不是很难, 但是mathematica的语法比较严格, 另一方面如果楼主是理论和数学研究,推荐使用mathematica,如果是工科学生或者数值计算,数据大量采集分析处理,推荐使用matlab或者scilab scilab和matlab用法差不多,它小巧而且是免费软件,但是如果一些高端应用,还是用matlab来的实际一些