ORGANIZATION_BLOCK 主:OB1
TITLE=主程序
BEGIN
Network 1 // 网络标题
// 编码器初始化
LD SM0.1
CALL SBR0
Network 2
// 调用子程序
LD SM0.0
CALL SBR1, +0, M20.0, M20.1
CALL SBR3
CALL SBR2
Network 3
LD I1.6
AN I1.7
TOF T42, +2
TOF T43, +20
Network 4
LD T43
AN T42
//LD SM0.0
MOVD +0, SMD38
HSC 0
Network 5
LD I1.7
AN I1.6
TOF T44, +2
TOF T45, +20
Network 6
LD T45
AN T44
MOVD VD320, SMD38
HSC 0
Network 7
LD SM0.0
MOVD HC0, SMD38
MOVD SMD38, VD100
MOVR 0.3155968, VD324
Network 8
LD SM0.1
MOVB 100, SMB34
ATCH INT0, 10
ENI
Network 9
LD SM0.0
LPS
MOVD VD304, AC0
*D +100, AC0
MOVD AC0, VD308
/D +120, VD308
MOVD VD308, AC0
+D VD312, AC0
MOVD AC0, VD140
/D +2, VD140
MOVD VD308, VD312
AD>= VD140, +0
MOVD VD140, VD144
LRD
AD< VD140, +0
MOVD VD140, VD144
*D -1, VD144
LRD
*D +355, VD144
LPP
/D +100, VD144
Network 10
LD SM0.0
LPS
DTR VD100, AC0
*R VD324, AC0
AR>= -105000.0, AC0
= M30.0
LRD
-R -105000.0, AC0
LRD
AR< 0.0, AC0
= Q8.2
LRD
ROUND AC0, VD152
// -1, 编码器深度:VD152
LPP
A M30.0
*D -1, VD152
Network 11
LD SM0.0
LPS
+D +1, VD400
AD> VD400, +50
= M31.0
LRD
AD> VD400, +100
= M31.1
LPP
A M31.1
MOVD +0, VD400
Network 12
LD M31.0
R Q8.7, 1
MOVB VB154, QB7
MOVB VB155, QB6
A V153.0
= Q8.0
Network 13
LDN M31.0
S Q8.7, 1
MOVB VB146, QB7
MOVB VB147, QB6
Network 14
LD M15.6
O M15.7
AN Q8.7
= Q8.6
Network 15
LD M15.7
AN Q8.7
= Q8.5
Network 16
LD I1.6
AN Q1.2
O M26.0
A Q2.3
A I6.7
= M26.0
Network 17
LD M26.0
CALL SBR4
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK HS_CODER_DEF:SBR0
TITLE=初始化编码器
BEGIN
Network 1 // 此 POU 受密码保护,不能编辑和查看。
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK NET_EXE:SBR1
TITLE=此 POU 由 S7-200 指令向导的 NETR/NETW 功能创建。
// 要在用户程序中使用此配置,请在每个扫描周期内使用 SM0.0 在主程序块中调用此子程序。
//
// NETW 操作第 1 条共 4 条
// 本地 PLC 数据缓冲区 远程 PLC = 3 操作状态字节
// VB0 - VB6 ---> VB0 - VB6 NETW1_Status:VB503
// 数据长度:7 个字节
//
// NETR 操作第 2 条共 4 条
// 本地 PLC 数据缓冲区 远程 PLC = 3 操作状态字节
// MB14 - MB19 <--- MB14 - MB19 NETR2_Status:VB517
// 数据长度:6 个字节
//
// NETW 操作第 3 条共 4 条
// 本地 PLC 数据缓冲区 远程 PLC = 3 操作状态字节
// VB100 - VB103 ---> VB340 - VB343 NETW3_Status:VB530
// 数据长度:4 个字节
//
// NETW 操作第 4 条共 4 条
// 本地 PLC 数据缓冲区 远程 PLC = 3 操作状态字节
// VB144 - VB147 ---> VB348 - VB351 NETW4_Status:VB541
// 数据长度:4 个字节
//
// 要修改此配置的网络读/写操作,请重新运行 NETR/NETW 向导。要监视网络读写操作的状态,请创建一个包含以上显示的操作状态字节符号名的状态表。可参考在线帮助中有关 NETR 和 NETW 指令的错误信息说明。
VAR_INPUT
Timeout:INT;
END_VAR
VAR_OUTPUT
Cycle:BOOL;
Error:BOOL;
END_VAR
BEGIN
Network 1 // 此 POU 受密码保护,不能编辑和查看。
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK Temp_Test:SBR2
TITLE=电机温度监测
BEGIN
Network 1 // 网络标题
// 网络注释
LD SM0.0
ITD AIW2, VD480
Network 2
LDD>= VD480, +6000
TON T200, +30
Network 3
LD T200
= V6.0
Network 4
LDD>= VD480, +12500
TON T201, +30
Network 5
LD T201
= V6.1
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK MOV_DATA:SBR3
TITLE=主从PLC通讯数据传送
BEGIN
Network 1
// 调用子程序
LD SM0.0
MOVB MB18, QB4
MOVD MD14, QD0
MOVD ID0, VD0
MOVW IW4, VW4
A M19.0
= Q5.0
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCK CUL_Kh:SBR4
TITLE=校验钢丝绳长度,计算新系数,设置同步
BEGIN
Network 1 // 网络标题
// 网络注解
LD I1.7
EU
MOVD VD100, VD320
DTR VD320, VD360
*R VD360, VD360
SQRT VD360, VD360
MOVR 105000.0, VD324
/R VD360, VD324
Network 2
LD SM0.0
MOVR -8000.0, VD328
/R VD324, VD328
ROUND VD328, VD328
MOVR -50000.0, VD332
/R VD324, VD332
ROUND VD332, VD332
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=M法计算编码器的速度
BEGIN
Network 1 // 此 POU 受密码保护,不能编辑和查看。
END_INTERRUPT_BLOCK


档案
日志
相册
视频



评论
想第一时间抢沙发么?