信捷PLC编程实例:C语言函数功能块绕过特权指令的嵌入

来源:电工天下时间:2022-09-13 14:44:26 作者:老电工手机版>>

信捷PLC的C语言函数功能块,在编译时编程软件时自动嵌入操作权限的指令,以防止用户程序越权访问某些功能。如果不希望出现这些指令,可以用C语言的预处理机制绕过,原理很简单:

1、因编程软件检测是否存在特定签名的函数,可用条件为否的预处理指令包含所需函数;

2、因编程软件对所有特定签名的函数都进行处理,可用预处理宏替换函数名称。

如果绕过了权限机制的保护,请自行确保所写代码对系统的安全风险。

信捷PLC编程实例:C语言函数功能块绕过特权指令的嵌入

示例代码如下:

源程序(普通写法):

void T_QINC ( WORD W , BIT B )

{

(*(uint64_t*)W)++;

}

处理后:

void T_QINC ( WORD W, BIT B )

{

//以下5条汇编指令用于清除CONTROL寄存器的特权位

asm("PUSH {R0}");

asm("MRS R0,CONTROL");

asm("ORR R0,R0,#0x1");

asm("MSR CONTROL,R0");

asm("POP {R0}");

//begin user code

(*(uint64_t*)W)++;

//end user code

//以下汇编指令用于获取特权

asm("svc 0x01");

}

//---------------

源程序(绕过特权):

#if 0

void T_QINC ( WORD W, BIT B ) {}

#endif

#define MAIN T_QINC

void MAIN ( WORD W , BIT B )

{

(*(uint64_t*)W)++;

}

处理后:

void T_QINC ( INT16S * W , INT32U B )

{

//begin user code

(*(uint64_t*)W)++;

//end user code

相关文章
  • 信捷plc怎发下载程序?

    信捷plc怎发下载程序?

    信捷plc下载程序的步骤如下:1、首先,找到软件并单击该文件以打开系统设置。2、打开系统设置,可以看到参数对话框,点击设备选择PLC端口,然后选择三菱FX系列。

    时间:2022-09-13 15:37:35

  • 信捷PLC中上电停机的方法

    信捷PLC中上电停机的方法

    信捷PLC怎么上电停机,具体方法如下:1、通讯连接上了没有,如果没连接就停止不了。有时通讯检测连接不上,也提示操作上电停止,这时就停止不了。2、上电停止PLC通过编程软件实现,必须保证通讯连接。

    时间:2022-09-13 15:34:35

  • 信捷PLC控制步进电机正反转的方法

    信捷PLC控制步进电机正反转的方法

    信捷PLC怎么控制步进电机正反转,具体方法如下:首先确定一个定时中断程序,控制精度越高,那么定时中断时间应越短,步进电机的控制就在中断里面做。(一般为1-10ms均可。)

    时间:2022-09-13 15:18:39

  • 信捷plc指示灯pwr常亮是什么原因

    信捷plc指示灯pwr常亮是什么原因

    在信捷PLC中的PWR指示灯,在PLC模块上就是电源的意思, 如果这个指示灯闪烁,说明电源供电不正常或者PLC模块有问题, 例如:电源电压偏低或者偏高,超出了PLC的正常工作范围。

    时间:2022-09-13 15:15:00

  • 信捷xd5plc用USB连电脑的方法

    信捷xd5plc用USB连电脑的方法

    信捷xd5plc用USB连电脑,具体方法如下:首先,确认PC与PLC连接的通讯线是否为信捷公司专用的XVP线,如果不是,请更换成信捷公司专用的XVP通讯线,下面具体来看下。

    时间:2022-09-13 15:05:50

  • 信捷plc怎么使伺服电机正反转?

    信捷plc怎么使伺服电机正反转?

    信捷plc使伺服电机正反转的方法:使用信捷的PLC接线,就是伺服上的PUL+ DIR+串起来接PLC的+24V,然后PLC上的Y0接伺服的PUL-,Y1(方向端子)接DIR-,在把PLC上的0v接串接到Y0 Y1对应的com点上。

    时间:2022-09-13 14:49:30

  • 信捷plc与威纶触摸屏的通讯方式

    信捷plc与威纶触摸屏的通讯方式

    有关信捷plc与威纶触摸屏的通讯方式,采用MODBUS RTU的方式来通讯,信捷XC系PLC地址,以及信捷XC系PLCmodbus地址的相关信息,一起来了解下。

    时间:2020-03-03 13:40:25

  • 变频器与信捷plc通讯指令小知识

    变频器与信捷plc通讯指令小知识

    有关变频器与信捷plc通讯指令的知识,信捷plc只有读取指令regr,无专门的“变频器参数读取指令”,所用的plc与变频器品牌,要看否支持modbus-rtu通讯协议,一起来了解下。

    时间:2020-03-03 13:39:57

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有