涂布机PLC源代码(西门子PLC+威纶通触摸屏) 触摸屏:MT8102iE PLC:CPU 1511-1 PN 相关模块:PS 60W 24/48/60VDC+AI 8xU/I HS+AQ 8xU/I HS_1+DI 32x24VDC HF_1+DQ 32x24VDC/0.5A HF 程序:梯形图+SCL语言 PS:注释详细+地址分配表+张力锥度曲线+CAD图纸 程序已经现场调试过,可以直接使用,文件内附带参数设置记录

上个月被同车间的学弟薅头发要了一份西门子1511+威纶通MT8102的涂布机程序——人家调试一台设备熬夜熬成熊猫眼,还差点把OPP膜张力调废崩了十几卷料,最后抱着试试的心态拿了这份我整理加现场半年迭代维护过的“老伙计”,居然三天就通了带ERP扫码记录张力的版本。今天干脆把这份宝贝的亮点拆出来唠唠,连地址表CAD图锥度曲线都附好调试过参数的(晚高峰烘箱切风机电压波动±2V都能稳的那种),直接抄就行。


先唠硬件,毕竟程序是附着在硬件上的“灵魂”,硬件搭歪了灵魂再好也没用:

核心用的是 CPU 1511-1 PN,别只看型号里的1500,选它是因为车间里本来要连分切机数据同步、后来加了ERP扫码都不用加中间网关——威纶通MT8102iE直接插PN口连TIA Portal的设备名称就行,不用像老200smart那样折腾RS485转PN转半天还被变频器干扰。

电源选了 PS 60W 24/48/60VDC,现场电压波动实测过夏天下午3点烘箱全开是21.8V,冬天晚上11点没人是25.3V,60W刚好够张力传感器(2个5V)、收放卷编码器(2个)、AO磁粉驱动器、威纶通触摸屏加起来用,CAD图纸里还特意补了浪涌保护器的位置,车间切风机切水泵再也没烧过模块模拟量。

涂布机PLC源代码(西门子PLC+威纶通触摸屏) 触摸屏:MT8102iE PLC:CPU 1511-1 PN 相关模块:PS 60W 24/48/60VDC+AI 8xU/I HS+AQ 8xU/I HS_1+DI 32x24VDC HF_1+DQ 32x24VDC/0.5A HF 程序:梯形图+SCL语言 PS:注释详细+地址分配表+张力锥度曲线+CAD图纸 程序已经现场调试过,可以直接使用,文件内附带参数设置记录

模拟量是高速的!AI 8xU/I HS 采样收放卷OPP膜的张力、车速、烘箱温度,高速AQ8xU/I HS输出磁粉的0-24V力矩——普通AI/AQ采样周期100ms左右,车速开到180m/min收卷直径到80cm的时候,张力波动能到±10N崩料,换成HS模块后硬件中断OB35设成1ms采样周期,波动瞬间压到±1N。


接下来是核心的程序部分,梯形图搭逻辑、SCL算高速平滑和锥度曲线,分工明确新手也能改:

梯形图我主要用来弄手动/自动切换、烘箱温度超温急停、断料检测(DI32x24VDC HF的响应时间够快,OPP膜薄到0.01mm也能一秒内触发)、ERP扫码触发记录张力——这些新手看得懂,比如急停逻辑我附个简化版的:

//急停逻辑(手动急停+烘箱温度超温380℃+断料检测任意触发都切断主电机、磁粉、烘箱加热)
//地址表:I0.0手动急停,I0.1放卷断料,I0.2收卷断料,I0.3烘箱1超温,Q0.0主电机接触器,Q0.1放卷磁粉继电器,Q0.2收卷磁粉继电器,Q1.0-Q1.7烘箱1-8加热
I0.0|I0.1|I0.2|I0.3 -> R Q0.0,12 //切断主电机、磁粉、所有烘箱加热
//自动模式下启动:手动急停复位,无断料无超温,按下启动按钮I0.4
I0.4 & NOT I0.0 & NOT I0.1 & NOT I0.2 & NOT I0.3 & M0.0(准备就绪) -> S Q0.0,3 //启动主电机、磁粉
//准备就绪:主电源接触器Q0.5吸合(自动加的安全逻辑)
Q0.5 -> M0.0

这个逻辑里地址全是中文备注对应的(中文备注直接在变量表里加,威纶通里也对应中文地址就行,连翻译都省了),新手哪怕改断料传感器的位置,换个I地址就行。

高速平滑和张力锥度曲线是我最得意的部分,用SCL写在硬件中断OB35里,1ms周期算一次:

//硬件中断OB35:TIA Portal硬件组态手动设成1ms(CPU1511支持到更小但没必要,车间张力传感器精度±0.5N而已)
//一阶滤波平滑+指数平滑平滑都写了,选一种就行——一阶响应快适合厚膜,指数抗干扰强适合薄OPP,参数表附了
#放卷张力_raw := "AI_放卷0-10V"; 
#放卷张力_未滤波 := NORM_X(
    MIN := 0, //西门子标准模拟量0V
    MAX := 27648, //西门子标准模拟量10V
    VALUE := #放卷张力_raw
) * 500.0; //对应放卷张力0-500N
//指数平滑(薄OPP用,摸鱼调的N=8次平滑)
#放卷张力_指数平滑 := SCL_MOVING_AVERAGE(
    IN := #放卷张力_未滤波,
    N := 8
);
//张力锥度曲线(指数锥度最稳,薄厚膜通用,锥度系数K在威纶通里设0.02-0.08都有对应记录)
#收卷直径_计算 := ("收卷编码器_脉冲数" / "收卷编码器每转脉冲数") * 2 * π * ("OPP膜厚度_设定" / 1000000) + "收卷初始直径_设定"; //OPP膜厚度单位μm转m
#收卷张力_设定 := "初始张力_设定" * EXP(-#锥度系数_K * (#收卷直径_计算 - "收卷初始直径_设定"));
//PID闭环算AO放卷/收卷力矩,TIA自带的PID_Compact块,参数表里附了薄OPP厚PET的两组Kp/Ki/Kd
"PID_收卷".SP := #收卷张力_设定;
"PID_收卷".PV_IN := #收卷张力_指数平滑;
"PID_收卷".MAN_ON := NOT M0.1(自动模式);
"PID_收卷".MODE := 2; //自动模式
"PID_收卷".CYCLE := T#1MS; //和OB35周期一致
"PID_收卷"();
#收卷AO_mV := SCALE_X(
    MIN := 0, //PID输出0.0
    MAX := 27648, //对应磁粉0-24V
    VALUE := "PID_收卷".OUT
);
"AQ_收卷磁粉" := #收卷AO_mV;

这里收卷直径计算我没用超声波测厚(容易脏容易坏车间维护麻烦),直接用编码器脉冲数算——初始直径和膜厚在威纶通里开机前输一遍就行,误差实测不到±2mm,完全够用。指数锥度比线性锥度好太多,线性锥度到最后直径大了张力会突然变大崩料,指数的一直很平缓,PET膜厚到0.1mm都没崩过。


最后唠唠附的宝贝:

  • 中文详细地址表:威纶通和PLC的变量名全对应,扫一眼就知道I0.0是啥Q0.0是啥
  • 张力锥度曲线EXCEL:可以自己输入初始直径、膜厚、锥度系数K生成曲线,对比着调试
  • CAD电气接线图:连端子排的线号都标了,车间电工看了直接接,不用我再跑过去
  • 威纶通HMI文件:画面有手动/自动切换、张力/车速/温度实时监控、曲线记录、参数设置,曲线记录还能导出CSV到U盘给老板看
  • 半年调试的参数记录表:薄OPP厚PET厚纸都有对应的车速、初始张力、锥度系数K、PID参数,直接抄就行

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐