新手西门子PLC编程技巧,就是简单快速好用

(一)PLC系统常闭点

PLC程序的绝对常闭点,可以作为逻辑支路断开、调试或检修的屏蔽开关,尽量使用比较独立的存储位。


(二)PLC系统常开点

PLC程序的绝对常开点,可以作为逻辑支路接通、调试或检修的接通开关,尽量使用比较独立的存储位。


(三)PLC系统上电脉冲

PLC程序的系统上电脉冲,可以作为系统初始化脉冲来复位、清零和设置系统重要参数,尽量使用比较独立的存储位。


(四)一键触发启停功能

用一个按钮实现启动和停止功能,可以作为操作按钮不够时的一个补救措施。


(五)模拟量输入标定功能

将整数的模拟量标定为实数的工程量,相当于博途中自带的SCALE_X,但该子程序结合高低量程限制后,标定和调试都更加方便。

(1)子程序调用


(2)子程序变量声明


(3)SCL代码

IF(Emax)AND(Dmax)THEN

IFDminTHEN

Dmin;

_IF;

IFDmaxTHEN

Dmax;

_IF;

IF(Dmin)AND(Dmax)THEN

Raw;

_IF;

RawTemp-Dmax-Emax-Emin;

OutReal/(Emin))*100.0;

ELSE

OutPercentage:=0.0;

_IF;(六)模拟量输出标定功能

将实数的工程量标定为整数的数字量,相当于博途中自带的NORM_X,但该子程序结合高低量程限制后,标定和调试都更加方便。

(1)子程序调用


(2)子程序变量声明


(3)SCL代码

IF(Dmax)AND(Emax)THEN

IFEminTHEN

Emin;

_IF;

IFEmaxTHEN

Emax;

_IF;

IF(Emin)AND(Emax)THEN

Raw;

_IF;

RawTemp-Emax-Dmax-Dmin));

RawTemp-Emax-Dmax-Dmin))/INT_TO_REAL((Dmin)))*100.0;

ELSE

OutPercentage:=0.0;

_IF;

RETURN;

(七)冒泡法排序功能

通过冒泡法升序或降序模式排序数组。

(1)子程序调用


(2)子程序变量声明


(3)模式为1(升序)的运行结果如下图所示:


(4)模式为0(降序)的运行结果如下图所示:


(5)SCL代码


IFL:=LOWER_BOUND(ARR:=H:=UPPER_BOUND(ARR:=i:=H-1DO

FORLTOiDO

IFArray[Array[temp1:=j];

j]:=j+1];

j+1]:=Array[Array[temp1:=j];

j]:=j+1];

j+1]:=rv1:=RD_SYS_T(InitFB=trueTHEN

ActualTime;

SetPoint;

AuxOut;

_IF;

ActualTime,IN2:=DeltaTime_DI:=TIME_TO_DINT(DeltaTime:=DINT_TO_REAL(DeltaTime:=LastTime:=SetPointOut:=auxR:=Rate*Out:=AuxOut:=MAX(IN1:=SetPoint);

AuxOut;

RETURN;

ELSE

IFAuxOutTHEN

AuxOut;

Rate*AuxOut;

AuxOut;

auxR,IN2:=Out:=#AuxOut;

_IF;_IF;

RETURN;

例程说明

以上例程均在博途环境下测试通过,大家有什么好的编程技巧,欢迎留言!

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系