核心控制逻辑
//FC1 变频速度给定
//2860.0 最高转速对应最高频率rpm
//188.0 辊径mm
//最大线速度 = (转速*周长/60)/1000 (米/秒)
穿水辊道.spare_3:=2860.0 * 3.14159 * 188.0 / 60000;
// 线速设定 速度超前 末架上游速度
穿水辊道.setvalu_v:=(穿水辊道.preadd_speed / 100.0 + 1.0) * SEND_PLC1.STAT37;
// 频率设定 线速设定 最大线速度
穿水辊道.setvalu_hz:=(穿水辊道.setvalu_v / 穿水辊道.spare_3) * 100;
// 速度给定
穿水辊道.speedset:=RND((穿水辊道.setvalu_v / 穿水辊道.spare_3) * 16384.0);
// 线度实际 速度实际 最大线速度
穿水辊道.realvalue_v:=穿水辊道.speedvalue / 16384.0 * 穿水辊道.spare_3
//输入1段辊道
//输入2段辊道
//输入3段辊道
//输入4段辊道
//逻辑同穿水辊道
//Network7
// 速度给定 频率设定
输出1段辊道.speedset:=RND(输出1段辊道.setvalu_hz / 50.0 * 16384.0)
// 线速实际 速度实际 最大线速
输出1段辊道.realvalue_v:=输出1段辊道.speedvalue / 16384.0 输出1段辊道.spare_3;
//输出2段辊道
//输出3段辊道
//排料链
//排料小车
//A区1段链
//A区2段链
//B区1段链
//B区2段链
//逻辑同输出1段辊道
FC27动态降速补偿
有咬钢信号---延时150MS ---> 补偿值:=0.0
NOT ---> 补偿值:=设定值
FC28 V_to_n
V = Pai.D.Rpm/60000
Rpm = V / (Pai.D) * 60000 * 速比
out3:= IN0 / 3.14159 / IN1 * 60000.0 * in2
FC29 n_to_v
V = Pai.D.Rpm/60000 /速比
OUT3:=(in0/in1) * in2 * 3.14159 / 60000.0;
FC30 LS_CONTROL
// 起套时间设定 起套时间设定CC
"TIME_SET".dBW2:=ITB( "TIME_SET".DBW0 / 10 ); //1#起套
"TIME_SET".dBW6:=ITB( "TIME_SET".DBW4 / 10 ); //2#起套
"TIME_SET".dBW10:=ITB( "TIME_SET".DBW8 / 10 ); //3#起套
"TIME_SET".dBW14:=ITB( "TIME_SET".DBW12 / 10 ); //4#起套
"TIME_SET".dBW18:=ITB( "TIME_SET".DBW16 / 10 ); //5#起套
"TIME_SET".dBW22:=ITB( "TIME_SET".DBW20 / 10 ); //6#起套
"TIME_SET".dBW26:=ITB( "TIME_SET".DBW24 / 10 ); //1#落套
"TIME_SET".dBW30:=ITB( "TIME_SET".DBW28 / 10 ); //2#落套
"TIME_SET".dBW34:=ITB( "TIME_SET".DBW32 / 10 ); //3#落套
"TIME_SET".dBW38:=ITB( "TIME_SET".DBW36 / 10 ); //4#落套
"TIME_SET".dBW42:=ITB( "TIME_SET".DBW40 / 10 ); //5#落套
"TIME_SET".dBW46:=ITB( "TIME_SET".DBW44 / 10 ); //6#落套
(2#咬钢--->延时(起套时间设定)--->上升沿 & 1#咬钢 & 活套自动) || (试验起套 & 活套手动) --->Set(M32.5)
整流运行 & not(1#咬钢)--->延时(降套时间设定)--->下降沿 & 活套自动 & 活套头入 --->Reset(M32.5)
M32.5--->S_PEXT延时1.5S--->起套
NOT(M32.5)---> S_PEXT延时2.0S--->降套
//FC2 1#飞剪
//Network1
//切头长度设定 前热检距离mm 切头长度预设定mm 切头长度修正mm
"1#FJ_DB".DBD108 := "1#FJ_DB".DBD168 + "1#FJ_DB".DBD200 + "1#FJ_DB".DBD92
//切尾长度设定 前热检距离mm 切尾长度预设定mm 切尾长度修正mm
"1#FJ_DB".DBD112 := "1#FJ_DB".DBD168 - "1#FJ_DB".DBD204 - "1#FJ_DB".DBD96
//切头超前设定 头部超前预设定100% 切头超前修正
"1#FJ_DB".DBD116 := "1#FJ_DB".DBD208 + "1#FJ_DB".DBD100
//切尾超前设定 尾部超前预设定100% 切尾超前修正
"1#FJ_DB".DBD120 := "1#FJ_DB".DBD212 + "1#FJ_DB".DBD104
//NetWork2
//写70字3:切头速度 切头超前设定 线速度_设定值 剪刃最高速度m/s
"1#FJ_DB".DBW56 := TRUNC((("1#FJ_DB".DBD116 / 100.0 + 1.0 ) * "6V".DBD134) / "1#FJ_DB".DBD176 * 32000.0 )
//写70字4:切尾速度 切尾超前设定 线速度_设定值 剪刃最高速度m/s
"1#FJ_DB".DBW58 := TRUNC((("1#FJ_DB".DBD120 / 100.0 + 1.0 ) * "6V".DBD134) / "1#FJ_DB".DBD176 * 32000.0 )
//NetWork3
//脉冲当量mm/p 工作辊直径 速比 吗盘数
"1#FJ_DB".DBD152 := "6V".DBD126 * 3.14159 / "6V".DBD106 / 1024.0
//NetWork4
//写70字5:切头脉冲 切头长度设定 脉冲当量mm/p
"1#FJ_DB".DBW60 := RND( "1#FJ_DB".DBD108 / "1#FJ_DB".DBD152 )
//写70字6:切尾脉冲 切尾长度设定 脉冲当量mm/p
"1#FJ_DB".DBW60 := RND( "1#FJ_DB".DBD112 / "1#FJ_DB".DBD152 )
//NetWork5
全部资料51hei下载地址:
DWBC300.rar
(1.39 KB, 下载次数: 4)
|