本申请涉及plc领域,尤其涉及一种plc运行程序项目变更的检测方法。
背景技术:
1、plc,可编程逻辑控制器,是在工业环境下,实现自动化控制的电子系统,它使用可编程存储器存储指令,运行顺序、计时、计数等逻辑功能,通过数字或模拟输入输出模块,控制程序运行或设备动作。
2、西门子plc,其程序执行采用循环扫描的工作方式,通过其系统功能sfc51,可用来读取用户程序当前扫描周期下的系统状态,按照程序的先后顺序进行存放、执行,因其功能强大、可靠性强,在国内化工、冶金等行业有着广泛的应用。
3、在实际应用中,一条plc生产线投产、运行稳定以后,为了保障plc运行程序项目运行稳定,严禁随意更改plc运行程序项目,确需进行工艺变更和技术提升时,要严格执行程序变更流程,经多方论证确认变更方案后,方可执行,为了及时规避更改plc运行程序项目所引发的后续生产问题,需要对运行程序项目是否变更进行检测,目前还没有一种有效的检测手段。
技术实现思路
1、本申请实施例提供了一种plc运行程序项目变更的检测方法,以解决目前无法有效对plc运行程序项目是否变更进行检测的问题,从而避免出现plc运行程序项目变更后无法及时发现的情况。
2、本申请实施例提供一种plc运行程序项目变更的检测方法,包括:
3、在plc运行程序项目中插入并调用功能fc和数据块db,其中,所述数据块db用于存储plc系统状态数据,所述数据块db还被配置为建立校验结果变量;
4、周期性读取所述功能fc和所述数据块db的系统状态,并存储所述plc运行程序项目的状态字;
5、校验两个相邻周期的所述plc运行程序项目的状态字,以及,将校验结果存储在所述校验结果变量中;
6、如果所述校验结果变量变更,则所述plc运行程序项目变更。
7、在一种可行的实现方式中,所述数据块db还被配置为建立程序变更逻辑结果变量和程序变更次数变量;
8、如果所述校验结果变量变更,则置位所述程序变更逻辑结果变量,以及,将所述程序变更次数变量以1为基数进行加法运算并存储。
9、在一种可行的实现方式中,所述将所述程序变更次数变量以1为基数进行加法运算并存储之后,所述方法还包括:
10、建立plc系统与hmi人机界面的通讯连接;
11、建立程序变更变量并链接所述程序变更变量与所述程序变更逻辑结果变量,以及,建立变更次数变量并链接所述变更次数变量与所述程序变更次数变量;
12、绘制所述hmi人机界面,其中,如果置位所述程序变更逻辑结果变量,则根据所述程序变更变量变更所述hmi人机界面的状态指示灯的显示状态,以及,根据所述变更次数变量在所述hmi人机界面中显示程序变更次数。
13、在一种可行的实现方式中,所述根据所述程序变更变量变更所述hmi人机界面的状态指示灯的显示状态,包括:
14、如果置位所述程序变更逻辑结果变量,则所述程序变更变量的逻辑值由0变更为1;
15、如果所述程序变更变量的逻辑值为1,则所述状态指示灯显示为红色;
16、如果所述程序变更变量的逻辑值为0,则所述状态指示灯显示为绿色。
17、在一种可行的实现方式中,所述在plc运行程序项目中插入并调用功能fc和数据块db,包括:
18、在所述plc运行程序项目中插入所述功能fc,其中,所述功能fc为fc200,用于编写plc控制程序;
19、在所述plc运行程序项目的组织块ob中调用所述fc200;
20、在所述plc运行程序项目中插入所述数据块db,其中,所述数据块db为db200;
21、通过所述db200依次建立程序状态数组变量、系统功能sfc51执行状态变量、系统功能sfc51执行进程变量、系统功能sfc51输出信息区号及长度变量、所述校验结果变量、所述程序变更逻辑结果变量、所述程序变更次数变量和plc运行程序项目变更确认变量。
22、在一种可行的实现方式中,所述周期性读取所述功能fc和所述数据块db的系统状态,并存储所述plc运行程序项目的状态字,包括:
23、存储第n-1个扫描周期的第一硬件配置状态字和第二硬件配置状态字;
24、存储第n-1个扫描周期的第一用户程序状态字和第二用户程序状态字;
25、调用系统功能sfc51,存储第n个扫描周期的状态字,其中,n>2且为自然数。
26、在一种可行的实现方式中,所述校验两个相邻周期的所述plc运行程序项目的状态字,以及,将校验结果存储在所述校验结果变量中,包括:
27、校验第n-1个扫描周期的第一硬件配置状态字和第n个扫描周期的第一硬件配置状态字;
28、校验第n-1个扫描周期的第二硬件配置状态字和第n个扫描周期的第二硬件配置状态字;
29、校验第n-1个扫描周期的第一用户程序状态字和第n个扫描周期的第一用户程序状态字;
30、校验第n-1个扫描周期的第二用户程序状态字和第n个扫描周期的第二用户程序状态字;
31、存储第n-1个扫描周期和第n个扫描周期的状态字的校验结果。
32、在一种可行的实现方式中,通过整型比较器分别对相邻两个扫描周期的第一硬件配置状态字、第二硬件配置状态字、第一用户程序状态字和第二用户程序状态字进行校验。
33、在一种可行的实现方式中,所述将校验结果存储在所述校验结果变量中后,所述方法还包括:
34、对所述校验结果变量进行下降沿检测,其中,所述plc运行程序项目未变更时,所述校验结果变量的逻辑值为1,所述plc运行程序项目变更后,所述校验结果变量的逻辑值变更为0。
35、本申请实施例提供的一种plc运行程序项目变更的检测方法,在plc运行程序项目中插入功能fc和数据块db,通过数据块db建立校验结果变量,周期性读取功能fc和数据块db的系统状态并存储状态字,校验两个相邻周期的状态字并将校验结果存储在校验结果变量中,如果校验结果变量变更则可确认plc运行程序项目变更,有利于保障严禁随意更改plc运行程序项目的要求,即使未按程序变更流程更改运行程序项目,也能及时检测发现。
1.一种plc运行程序项目变更的检测方法,其特征在于,包括:
2.根据权利要求1所述的plc运行程序项目变更的检测方法,其特征在于,所述数据块db还被配置为建立程序变更逻辑结果变量和程序变更次数变量;
3.根据权利要求2所述的plc运行程序项目变更的检测方法,其特征在于,所述将所述程序变更次数变量以1为基数进行加法运算并存储之后,所述方法还包括:
4.根据权利要求3所述的plc运行程序项目变更的检测方法,其特征在于,所述根据所述程序变更变量变更所述hmi人机界面的状态指示灯的显示状态,包括:
5.根据权利要求1-4任一项所述的plc运行程序项目变更的检测方法,其特征在于,所述在plc运行程序项目中插入并调用功能fc和数据块db,包括:
6.根据权利要求1-4任一项所述的plc运行程序项目变更的检测方法,其特征在于,所述周期性读取所述功能fc和所述数据块db的系统状态,并存储所述plc运行程序项目的状态字,包括:
7.根据权利要求6所述的plc运行程序项目变更的检测方法,其特征在于,所述校验两个相邻周期的所述plc运行程序项目的状态字,以及,将校验结果存储在所述校验结果变量中,包括:
8.根据权利要求7所述的plc运行程序项目变更的检测方法,其特征在于,通过整型比较器分别对相邻两个扫描周期的第一硬件配置状态字、第二硬件配置状态字、第一用户程序状态字和第二用户程序状态字进行校验。
9.根据权利要求1-4任一项所述的plc运行程序项目变更的检测方法,其特征在于,所述将校验结果存储在所述校验结果变量中后,所述方法还包括: