ProU说明   快速入门   指令说明   运动控制   EtherCAT   C语言   可视化   CAD   通讯   PCI控制卡   MECHATROLINK   程序模板   ProH   YKCAT   视觉组件   WinPLC   附录  
上一页 下一页

概要

一个项目中可以建多个C程序,以名称区分,名称最多支持8个英文字符。
每个C程序可以编写多个函数,数量不限。
项目中所有的C程序被编译成一个可执行文件,文件中全局变量声明,最大支持128K字节。
主程序、子程序和功能块中使用CALLC或者CALLT指令调用C 函数,指令参数为C函数名称。

1.数据类型定义

typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned int UINT32;
typedef char INT8;
typedef short INT16;
typedef int INT32;
typedef unsigned long long UINT64;
typedef signed long long INT64;

2.函数声明

函数统一采用如下方式声明:
unsigned int fnc(unsignedlong long para1, unsignedlong long para2)
函数返回值类型:unsigned int
函数名:自定义
函数参数:para1、para2,每个参数需包含数据类型和变量名
每个函数包含两个参数para1、para2,他们的值由寄存器D8482/D8483传递,返回值写入D8384/D8385。

3.保留函数

系统中保留了以下4函数名称,如果用户实现了此类函数,则系统会自动调用。

pwr_on PLC启动时执行
run_stop PLC在RUN到STOP切换时执行
loop_end 在每个扫描周期结束时执行
stop_run PLC在STOP到RUN时执行

4.编译

序号 类型 说明
1 程序批量变化

对工程所有C语言程序进行编译、检查语法、链接文件

2 程序变化 对当前界面的C语言程序进行编译、检查语法
注:修改过后的C语言程序,下载之前需要点击程序批量变化,并等信息输出框提示链接成功,编译成功后,下载C语言程序后才会生效

5.函数开关状态

在调用 C 函数之前会把指令执行开关状态写入 M8481,用户可根据
此控制位控制 C 函数在什么时候执行,可在 C 函数中加入以下代码:

如上图所示,如果 M10=0 断开,则 M10=0 会写入 M8481,C 函数中通过 if(!SM[481])判断条件成
立后直接执行 return 0 跳出 C 函数,相当于 C 函数后面部分不再执行;相反,只有 M10=1 的时候,才会执
行 C 函数后面的部分。
当函数在一个扫描周期之内就能执行完成时,这时候不需要完成标志;如果在一个扫描周期之内不能
执行完成的函数,则在函数功能执行完成时,函数会将标志位 M8482 置 1,否则置 0。如果能流为 OFF 时,
没有功能需要执行,也需要把 M8482 置 1。

上一页 下一页
Copyright © 2020 深圳市优易控软件有限公司 www.proutech.com