米其林标准
步序初始化方法
1.步序过程中没有分支时:
利用标签 Rxx_GE_Imagex_xxx,储存步序。
2 .步序过程中含有分支时:
使用Structured Text编写程序需要注意的事项:
1.尽量减少循环嵌套 2.当需要使用时采用逐行缩进式,结构清晰。
1.6
1.6.1
报警和故障管理
报警管理
报警位标签的命名
SFC中的步序编程
1.6
报警和故障管理
1.1 TASKS/PROGRAMS/ROUTINES 结构
1.1.1 Tasks
推荐使用以下任务组织结构: · 连续型 task用来处理设备动作 (machine animation) · 周期型task用来 处理 “控制回路”(control loops ) 比如PID等
1.3.5 Program中写的数据 Program Tag
1.4 梯形图中的编程
步序初始化
1.5 SFC中的步序编程
在SFC中步序中的变量包含三个要素:
一个数据类型为SFC_STEP 的数组,用来存储步序 格式为:Rxx_GE_有助于记忆的名称 一个数据类型为SFC_ACTION 的数组,用来存储动作 格式为:Rxx_GA_有助于记忆的名称 一个数据类型为 BOOL 的数组,用来存储转换条件。 格式为:Rxx_GT_有助于记忆的名称
2.Байду номын сангаас 编程方法
Grafcets
File B14/n.x : 表示激活的步序位 File B15/n.x : 表示步序转换条件使能位 注意:每个步序至少应保留16位的B14、B15字即使步序比较短。
输出动作
步序初始化
当有多个步序需要同时初始化时,使用 令
FLL指
当步序带有分支时
不同步序之间的同步
1.6.2 故障管理
根据停止类型划分故障
2
SLC 500 平台下的标准
2.1
PLC程序的结构
2.2
数据结构
2.3
编程方法
Grafcets
2.1 PLC程序的结构
不推荐使用多个主程序的结构
Common Program Files 的基本结构
主程序 数据初始化 : 中断子程序 与测量尺度相关的模块之间的通信 (模拟量 I/O, 计数模块) 与串行通信卡之间的通信(ASCII, BASIC, etc. cards) 与伺服系统之间的通信卡(运动控制卡) Files13-33 与其它特殊的控制卡之间的通信 多个不同的模块共用的子例程 机器设备动作的步序程序或者逻辑程序 Files34-35 与HMI之间的通信 Files36-39 与网络之间的通信 File 2 File 3 Files 4-7 Files 8-12
2.2 数据结构
File 0 Outputs File 1 Inputs File 2 Status File 3 Working bits (工作位) File 4 Timers File 5 Counters File 6 Registers File 7 Integers File 8 Floating Point File 9 SLC500中是CIF file (PLC2 emulation) File 10 保留 File 11 保留 File 12 Partial and overall digital I/O summary bits File 13 与 OSR, ONS 和OSF指令相关的边缘位(上升沿或下降沿) File 14 Grafcet 步序位 File 15 Grafcet image bits File 16 转换条件位 File 17 故障诊断定时器 File 18 机器维修帮助位 File 19 机器操作帮助位
设备动作例程
设备动作程序:
File X0 设备X的监控逻辑 File X1 设备X的主顺序 File X2 设备X的输出逻辑 File X3 设备X 的诊断逻辑 File X4 设备X 的工作位逻辑 File X5 设备X中特殊I/O卡的数据管理 File X6 设备X中与人机界面相关数据的管理 File X7 设备X中除了人机界面之外的其他通信数据的管理 File X8-YZ 与设备X相关的自动运行逻辑或顺序功能程序(Grafcets)
两种同步方式
当同一步序需要调用多次时
应采用以下方式:
谢谢!!
米其林轮胎程序标准
1
Logix平台下的标准
2
SLC 500平台下的标准
1
1.1
Logix平台下的标准
TASKS/PROGRAMS/ROUTINES 结构
1.2
GLOBAL 和 LOCAL DATA地址分配
1.3 1.4
Controller Tags和ProgramTags的命名方式
梯形图中的编程
1.5
别名: 用户自定义结构体中的元素不能进行别名 数组之间不能进行别名 可以在Program Tag 中的两个标签之间进行别名 可以从 Program Tag 别名到 Controller Tag(但是反过来不行)
原则
Program中写的数据应在Program Tags (local data)中声明 Program中写的数据,并且其它的Program需要读取该数据时,应在 Program Tags 和 Controller Tags中都声明 Program Tags中声明的数据和 Controller Tags 中声明的数据,需要通过 alias for 链接,当不能使用alias for时用 COPY进行链接(array或者structure). 其它的程序可以直接读取Controller Tags中的数据 不能给别名再别一次名 不能从 Controller Tag别名到 Program Tag 在 global data 和 local data 中为标签进行排序 标签名称是数据的主要信息, 可以在描述中对标签进行进一步描述。尽量使用 最少的语言将标签的含义表达清楚. bits: 在梯形图中,没有必要为标签起一个详细的名称,因为可以使用描述(Description), 并且描述在梯形图中是可见的.但是在(SFC, TXT, FBD )中描述(Description) 不可 见,所以标签的名称应详细.
1.3.3 在program中写被多个tasks 或多个programs 读的数据
格式为: XXX_有助于记忆的名称 例如: 如果程序是 P03_Winding, 在Global中标签应命为:P03_有助于记忆的名称
Program Tag
1.3.4 实际I/O输入输出的 “别名” 为:
数字量输入别名的标签应为: I_有助于记忆的名字 数字量输出别名的标签应为: O_有助于记忆的名字 模拟量输入别名的标签应为: IA_有助于记忆的名字 模拟量输出别名的标签应为: OA_有助于记忆的名字
1.1 TASKS/PROGRAMS/ROUTINES 结构
1.1.2 Program
· 一个 program 处理 系统诊断 · 一个 program 处理 通用部分 · 一个或多个 programs 处理 设备动作部分
1.1 TASKS/PROGRAMS/ROUTINES 结构
可以在软件中更改程序的先后循序
当多个program或taks 共用相同的步序时: 在 local data中创建DINT型的标签: Rxx_GEImage_ Grafcet name
在 Global data中创建一个两维数组: Pxx_GE[yy,zz] xx表示program no., yy 表示 Grafcet routine no., zz 表示 word number
1.1 TASKS/PROGRAMS/ROUTINES 结构
1.1.3 ROUTINES
例程的命名方式为: R +2 或 3 个数字字符_名称 例如:R001_Princiapal
子 例 程 调 用 顺 序
1.2 GLOBAL和LOCAL DATA地址分配
Controller Tags 数据范畴 (Global data): - 数字量输入输出,模拟量输入输出,运动轴等 - 与其他系统进行通讯的数据 (Level 1, Level 2, HMI, 等) - 与其他 PLC进行通讯的数据 - 多个Task或Program共用的数据 Program Tags 数据范畴 (Local data): -数字量输入输出别名,模拟量输入输出别名 - 本程序中使用的数据 控制器从其它系统( 物理I/O, Level 1, Level 2,HMI)获得的所有数据在Global data中声明.两 种情况除外, Panel View 和 RSView 可以使用Local data中的数据.
1.3 Controller Tag和ProgramTags的命名方式
1.3.1 组态的I/O模块的名称
1.3.2 与其他系统之间进行通讯时 (Lev.1, Lev.2, HMI,PLCs等)
格式为:
Exch_Source_Destination_有助于记忆的名称 例如:Exch_CLX1_CLX2_有助于记忆的名称