西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例(版权所有:创想人生,未经允许不得转载)

1、 安装项目要求在硬件组态里,组态硬件

2、 使用公共功能块FB100、FB101,编写手动程序和模拟量程序。

3、 编程相应的自动程序,FB100,及FB101预留自动程序接口。

4、 FB100功能介绍,此功能块适用电机、水泵、阀门等开关量设备的控制。

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

5、FB101功能介绍,此功能块适用模拟量数据的读取、报警判断的控制。

6、在WinCC 中建立两个结构体变量

6.1 结构体ACT

{

BIT SAuto

BIT Sstart

BIT Sstop

BIT SFBI

BIT SalaZero

BIT SonoffZero

BIT RunZero

BIT SLOCK

BIT autoStart

BIT SOUTQ

BIT ALA

BIT Sure

BIT in1

BIT in2

BIT in3

BIT in4

SHORT alasetTime

LONG Salatimes

LONG Sonofftimes

LONG SRuntimes

TEXT16 Taglabel

}

说明:设备标签参数为内部变量,其他全部为外部变量,在定义实例化变量后,内部变量必须赋初始值,例如:M1电机,在”起始值”及”运行系统保持”选择框中选中。

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

6.2 结构体 AIInput

{

SHORT modify

SHORT TD

FLOAT Zero

FLOAT Size

FLOAT RealOut

FLOAT UpSet

FLOAT DownSet

SHORT alaUpSetTime

SHORT alaDownSetTime

LONG Runtimes

BIT alaUp

BIT alaDown

BIT alaSure

BIT alaTimeZero

BIT RunTimeZero

TEXT16 Signal

TEXT16 Taglabel

TEXT16 TagUnit

SHORT TagPoint

}

说明:传感器信号模式、标签、数据单位、小数点个数为内部变量,其他为外部变量,在定义实例化变量后,内部变量必须赋初始值。例如定义变量AI1。

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

7、WinCC 使用结构体变量

7.1 电机实例

if (GetTagWord(“UserPower_flag”)>0) // 权限控制

{

SetVisible(“Ftest1.pdl”,”PIC”,!GetVisible(“Ftest1.pdl”,”pic”));

SetPictureName(“Ftest1.pdl”,”PIC”,”act.pdl”);

SetTagChar(“UserTemp”,GetTagChar(“p2.Taglabel”));// 窗口标题

SetTagChar(“Lables”,”p2.Taglabel”);//设备名称

SetTagChar(“Start_Button”,”p2.Sstart”);// 启动

SetTagChar(“Stop_Button”,”p2.Sstop”);//停止

SetTagChar(“FB”,”p2.SFBI”);//反馈信号

SetTagChar(“OUT”,”p2.SOUTQ”); //输出信号

SetTagChar(“ALAZero”,”p2.SalaZero”);//报警次数清零);

SetTagChar(“ONOFFZero”,”p2.SonoffZero”); //开关次数清零

SetTagChar(“RunTimeZero”,”p2.SRunZero”);//运行时长清零

SetTagChar(“lock_respond”,”p2.SLOCK”);//闭锁解锁

SetTagChar(“ALAtime”,”p2.Salatimes”); //报警次数

SetTagChar(“ONOFFTime”,”p2.Sonofftimes”); //开关次数

SetTagChar(“RunTime”,”p2.SRuntimes”);//运行时长

SetTagChar(“AlaLable”,”p2.SALA”); //报警

SetTagChar(“AutoLable”,”p2.SAuto”);//手动自动

SetTagChar(“ALAtimeSet”,”p2.alasetTime”); //故障延时设定

SetTagChar(“LabelSure”,”p2.Sure”); //故障确认

// 初始化变量值

SetTagChar(“inputStr”,GetTagChar(GetTagChar(“Lables”)));////设备名称

SetTagWord(“inputalatime”,GetTagWord(GetTagChar(“ALAtimeSet”)));////设备名称

}

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

7.2 模拟量实例

if (GetTagWord(“UserPower_flag”)>0)

{

SetVisible(“Ftest1.pdl”,”PIC”,!GetVisible(“Ftest1.pdl”,”pic”));

SetPictureName(“Ftest1.pdl”,”PIC”,”act.pdl”);

SetTagChar(“UserTemp”,GetTagChar(“AI1.Taglabel”));// 窗口标题

SetTagChar(“AIlabel”,”AI1.Taglabel”);//设备名称

SetTagChar(“AIUnit”,”AI1.TagUnit”);// 单位

SetTagChar(“AIpoint”,”AI1.TagPoint”);//小数点

SetTagChar(“AISignal”,”AI1.Signal”);//信号模式

SetTagChar(“AITD”,”AI1.TD”); //通道值

SetTagChar(“AIModify”,”AI1.modify”);//修正值

SetTagChar(“AIZero”,”AI1.Zero”); //模拟量零点

SetTagChar(“AISize”,”AI1.Size”);//模拟量量程

SetTagChar(“AIReal”,”AI1.RealOut”);//模拟量实际输出值

SetTagChar(“AIUpSet”,”AI1.UpSet”); //上限设定

SetTagChar(“AIDownSet”,”AI1.DownSet”); //下限设置

SetTagChar(“AIalaUpSetTime”,”AI1.alaUpSetTime”);//上限报警延时设定

SetTagChar(“AIalaDownSetTime”,”AI1.alaDownSetTime”); //下限报警延时设定

SetTagChar(“AIUpALA”,”AI1.alaUp”); //上限报警延

SetTagChar(“AIDownALA”,”AI1.alaDown”); //下限报警

SetTagChar(“AISure”,”AI1.alaSure”);//报警确认

SetTagChar(“AIalaTimes”,”AI1.Alatimes”); //报警次数

SetTagChar(“AIRunTimes”,”AI1.Runtimes”); //运行时长

SetTagChar(“AIalaTimeZero”,”AI1.alaTimesZero”); //报警次数清零

SetTagChar(“AIRunTimeZero”,”AI1.RunTimesZero”); //运行时长清零

// 初始化外部变量值

SetTagWord(“AIInputModify”,GetTagWord(GetTagChar(“AIModify”)));

SetTagFloat(“AIInputZero”,GetTagFloat(GetTagChar(“AIZero”)));

SetTagFloat(“AIInputSize”,GetTagFloat(GetTagChar(“AISize”)));

SetTagFloat(“AIInputUP”,GetTagFloat(GetTagChar(“AIUpSet”)));

SetTagFloat(“AIInputDown”,GetTagFloat(GetTagChar(“AIDownSet”)));

SetTagWord(“AIInputUpTime”,GetTagWord(GetTagChar(“AIalaUpSetTime”)));

SetTagWord(“AIInputDownTime”,GetTagWord(GetTagChar(“AIalaDownSetTime”)));

// 初始化内部变量值

SetTagChar(“AIInputLable”,GetTagChar(GetTagChar(“AIlabel”)));////设备名称

SetTagChar(“AIInpuUnit”,GetTagChar(GetTagChar(“AIUnit”)));// 单位

SetTagChar(“AIInputPoint”,GetTagChar(GetTagChar(“AIpoint”)));//小数点

SetTagChar(“AIInputSignal”,GetTagChar(GetTagChar(“AISignal”)));//信号模式

}

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

西门子S7300-winCC组态软件快速编程及标准化编程方案及实例

8、Step7参考实例程序Moter WinCC 参考实例程序ZLJK

手动自动

手动启动

手动停止

反馈信号

报警次数清零

开关次数清零

运行时长清零

自动启动

输出

报警

报警确认

备用1

备用2

备用3

备用4

报警延时设定

报警次数

开关次数

运行时长

模拟量输入

修正值

通道值显示

传感器零点

传感器量程

传感器实际值

上限报警值设定

下限报警值设定

上限报警延时设定

下限报警延时设定

报警次数

运行时长

上限报警

下限报警

报警确认

报警次数清零

运行时长清零

手动自动

手动启动

手动停止

反馈信号

报警次数清零

开关次数清零

运行时长清零

自动启动

输出

报警

报警确认

备用1

备用2

备用3

备用4

报警延时设定

报警次数

开关次数

运行时长

设备标签

模拟量通道值

修正值

通道值显示

传感器零点

传感器量程

传感器实际值

上限报警值设定

下限报警值设定

上限报警延时设定

下限报警延时设定

报警次数

运行时长

上限报警

下限报警

报警确认

报警次数清零

运行时长清零

传感器信号模式

传感器标签

传感器数据单位

传感器数据小数点个数

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据