西门子产品代理商哪家服务 好 西门子产品代理商哪家服务 好
建立构造
构造(STRUCT)只能在数据块或变量声明表中定义。图5.7所示为由整数(存放数量)、字节(存放原始数据)、字符(存放控制码)、浮点数(存放温度)、布尔数(完成标志信号)组成的构造。该构造的名称为Stack_1。
2) 赋初始值
按每个元素的类型和名称给构造的每个元素赋初始值。并将其写入图5.8中Initial Value(初始值栏)的相应行中。例如,可以分配如下初始值:
Amount=0
Original_data=B#l6#0
Control_code=“Z”
Temperature=98.6
End:=FALSE
3) 访问构造
(1) 用符号地址访问:如MOTO.Stack_1.Temperature,其中,MOTO为构造所在数据块DB20的符号名。
(2) 用物理地址访问:如Stack_l从DB20的字节0开始存放,Amount的物理地址是DB20.DBW0,Temperature的地址为DB20.DBD4。
4) 利用构造传递参数
构造可以作为参数来传递。将构造作为参数传递时,要求形式参数和实际参数必须有同样的数据组织结构、相同的数据类型,并按相同的顺序排列。
3. 用户数据类型
STEP 7允许将基本数据类型或复式数据类型组合成用户自己定义的数据类型,这种类型称为用户数据类型或UDT。用户数据类型必须首先单独建立,并存放在称为UDT的特殊数据块中,见图5.8。
图5.8是用“程序编辑器”建立的一个UDT,其数据组织结构与图5.7相同,该用户数据类型被定义为UDT200,并单独存储在被称为UDT200的特殊块中。也可以为UDT200建立符号名(如process_data),但是,命名只能在符号表中进行。图5.9给出了一个使用UDT定义数据块(如DBl0)的例子,数据块DBl0中定义两个变量,一个为整型,另一个为用户数据类型(UDT200)。从图中可以看出,数据块中UDT的用法与基本数据类型的用法类似。
用符号地址或物理地址两种方式可以访问UDT中的变量。例如,在DB10中定义了图5.9格式的数据,DB10的符号名为Process,访问Amount变量可分别写为DB10.DBW 2或Process.Stack_2.Amount。
建立用户数据类型的目的是为了将UDT作为一种数据类型使用,以方便定义多个结构相同的构造变量。图5.9建立的Stack_2与图5.7建立的Stack_1相比,不仅大小结构完全相同,而且对Stack_1和Stack_2中元素的访问方法也完全相同。在建立DB10时,由于使用了UDT而使得数据块建立过程方便快捷。在多处使用同样的UDT时,这一优点将更加突出。
程序结构设计
STEP 7不仅从不同层次充分支持合理的程序结构设计,而且也简化了结构设计的复杂程度。
一个复杂的自动化过程可以被分解并定义为一个或多个项目(PROJECT);而对于每个项目,又可以进一步分解并定义给一个或多个CPU,每个CPU都有一个控制程序(CPU_PROGRAM)。图5.10显示了一个样本过程,它分成4个不同的项目:项目1和项目2只有一个CPU,而项目3和项目4有多个CPU。这样,一个很复杂的控制任务的结构设计,就被简化为各个CPU程序的结构设计。项目间或项目中的各CPU程序之间,能以某种方式联网,实现信息共享。如在S7协议支持下,用MPI网以全局数据通信的方式可方便地建立起联系,实现一个项目中各CPU共享信息