博文

雷赛LeadStudio平台下编写固件库并使用

工控笔记

前言

我最近视频号有分享了雷赛的小型PLC的SC2-C的自研平台系列的视频。本文作为补充的使用技能点。

正文

本文以我现在在编写的固件库作为分享的演示。

Step1: 新建项目 - 工程类型(固件库)

Step2: 建立全局变量表gC

VAR_GLOBAL	
    gPi : LREAL := 3.1415926 ;
END_VAR

Step3: 建立全局变量表gSysLib

VAR_GLOBAL	
    bAllwayOn   : BOOL ;//常开	
    bAllwayOff  : BOOL ;//常闭	
    bFirstOn    : BOOL ;//上电On一次	
    b500msOnOff : BOOL ;//500ms On / 500ms Off
END_VAR

Step3: 建立程序Pro_Sys

PROGRAM Pro_Sys
VAR    
    i500OMsnOff:INT;    
    UliLast:ULINT;    
    UliNow:ULINT;
END_VAR

//上电初始化
IF NOT gSysLib.bFirstOn AND NOT gSysLib.bAllwayOn THEN	
	gSysLib.bFirstOn := TRUE ;
ELSIF gSysLib.bFirstOn AND gSysLib.bAllwayOn THEN 
	gSysLib.bFirstOn := FALSE ;
END_IF ;	
//常开On
gSysLib.bAllwayOn  := TRUE ;
//常Off
gSysLib.bAllwayOff := NOT gSysLib.bAllwayOn ;

//500msOnOff
CASE i500OMsnOff OF	
    0:		
        gSysLib.b500msOnOff :=  gSysLib.b500msOnOff XOR TRUE ;
        UliLast             := GetTickCountMs() ;
        i500OMsnOff         := 1 ;
    1:		
        UliNow := GetTickCountMs() ;
        IF UliNow >= (UliLast + 500 ) THEN
        i500OMsnOff  := 0 ;		
        END_IF ;
END_CASE ;

Step4: 编写固件库信息

图片

Step5:编译 - 另存为编译库

Step6:新建项目 - 工程类型(程序)

Step6:加载编译好的库文件。

Step7:关于Pro_Sys程序的调用。

Pro_Sys();//直接在程序里面编写即可完成调用

其实固件库或者用户库的使用,是有效的减少反复造轮子的问题,也是我们应用工程师不断对使用产品的二次定制。

现在的LeadStudio v2.6.8的版本,暂时还有一个小小的Bug,就是如果我们需要对固件库进行二次更新,需要对已经编译过的文件先删除后或者另外到另外一个文件。(即同一个文件下不能有同名的文件存在。)这个问题我也反馈给雷赛的对应工程师了。

结尾

不管是软件,还是程序都是需要我们每一个人不断地迭代过来的。加油!

← 返回博文列表