S7和Logix语言之间有一个重要的区别。在S7中,语句列表是控制器的“本机”语言。其他语言会转换为STL。在Logix中,所有语言都是控制器中的“本机”语言,每一种都无需引用任何其他语言即可编译。优点在于从控制器上载程序时,可以查看原始编写语言形式的程序。
STEP7有三种标准语言:
•语句列表(STL)-可描述为高级汇编程序。
•梯形图逻辑(LAD)
•功能块图(FBD)
某些可选语言:
•结构文本(ST)
•CFC-过程类型应用的连续流程图
•HiGraph-通过图形软件的顺序控制
•ML(运动语言)-类似于早期罗克韦尔自动化专用1394运动控制器的GML.
程序可以由用不同语言编写的功能块和功能所组成。
RSLogix5000软件有四种编程语言:
•梯形图(LD)-相当于SiemensLD,附带扩展指令集。
•结构文本(ST)-相当于SiemensST
•功能块图(FBD)-相当于SiemensCFC
•顺序功能图(SFC)-相当于SiemenshiGraph。
例程(Logix中的基本代码段)可以采用上述任何一种语言,程序可以由用不同语言编写的例程构成。
Logix梯形图
传统上,梯形图用于实现布尔组合逻辑。在Logix中,它还可用于顺序逻辑、运动、数据操作和数学计算(尽管这些任务使用其他语言可能更为方便)。
Logix结构文本
结构文本是高级过程语言,凡是具有Basic、Pascal或任何一种“C”语言使用经验的人,都可以轻松学习该语言。它主要用于数据操作和数学计算(尽管使用ST可以方便地进行运动逻辑、组合逻辑和顺序逻辑的编程)。
Logix功能块图
功能块图以图形形式描述关联输入变量和输出变量的功能(布尔或算术)。输入和输出变量通过连接线连接到块。一个块的输出也可连接到另一个块的输入。建议在FBD中编写PID循环。对于过程控制,这是最方便的语言。
Logix顺序功能图
SFC是一个图形化工具,用于将顺序逻辑描述为一组状态和转换。可以为输出分配一种状态和多个布尔条件,这些条件确定是否转换为已定义的其他状态.
STEP7代码到Logix的转换
•如果要将STEP7梯形图逻辑代码转换为Logix,应首选LD。LD的意义在两种系统中很相似。
•如果要将STEP7功能块图代码转换为Logix,应首选FBD。
•注意,标准LogixFBD比STEP7FBD更高级,相当于可选的STEP7语言CFC。
•如果要将STEP7语句列表代码转换为Logix,则最合适的语言将取决于STL块的特性。如果STL块主要包含布尔求值,LD则可能是最佳的转换Logix语言。如果STL块包含指针来存取和操作数据,或者执行数学计算,ST则可能是最佳的转换Logix语言。如果STL块包含顺序逻辑,则应考虑SFC(尽管用ST和LD也可以方便地实现顺序逻辑)。
使用数组而非指针
在STEP7中,可以像在Pascal或C中一样定义数组,但基本语言(STL、LD和FBD)未提供用于存取数组的高级支持。相反,必须构造指针例程。
STEP7库功能缺少对数组存取的支持。习惯使用指针的程序员可以编写自己的功能,如FC101“INDEXED_COPY”(请参见下文),但这需要技巧和时间。
STEP7中的“INDEXED_COPY”与Logix指令COP的功能相同,都用于带索引复制。