📄 plc51x_type.h
字号:
/* 备 注: 修改了网友 oste 查出的 BUG , 下载完刚运行时,时间继电器的时基会变小,定时值很快就到了, */
/* 已修正。 */
/* */
/*----------------------------------------------------------------------------------------------------*/
/* 版 本: V1.0.7 */
/* 修改人: 许意义 */
/* 日 期: 2009.09.30 */
/* 备 注: 修改了网友 houjingqing 和 oste 查出的 BUG , 数据比较类 指令错误,已修正。 */
/* */
/*----------------------------------------------------------------------------------------------------*/
/* 版 本: V1.0.6 */
/* 修改人: 许意义 */
/* 日 期: 2009.09.26 */
/* 备 注: 修改了网友 oste 查出的 BUG , OUT T0 D30 指令错误,已修正。 */
/* */
/*----------------------------------------------------------------------------------------------------*/
/* 版 本: V1.0.5 */
/* 修改人: 许意义 */
/* 日 期: 2009.09.25 */
/* 备 注: 将“简易PLC 梯型图(指令编码)转 51 C 程序示范程序”和“仿三菱 FX1N PLC 下载通讯协议 */
/* C Code示范程序”合并,使之真正成为直接兼容 三菱FXGPWIN 软件 的 开源PLC。 */
/* */
/*----------------------------------------------------------------------------------------------------*/
#ifndef __PLC51X_TYPE__H__
#define __PLC51X_TYPE__H__ 1
/***************************************************************************************/
#define _X_num 48 // 48个输入端口, 编号:X0-X57
#define _Y_num 48 // 48个输出端口, 编号:Y0-Y57
#define _M_num 256 // 256个中间M继电器,编号:M0-M255
#define _S_num 256 // 256个中间S继电器,编号:S0-S255
#define _T_num 32 // 32个定时器, 编号:T0-T31
#define _C_num 32 // 32个计数器, 编号:C0-C31
#define _M8xxx_num 24 // 24个中间M8xxx继电器, 编号:M8000-M8023
#define _D_num 32 // 32个位元件 D, 编号:D0-D31
#define _X_BYTE (_X_num + 7) / 8 // 48个输入端口,所占内存字节数
#define _Y_BYTE (_Y_num + 7) / 8 // 48个输出端口,所占内存字节数
#define _M_BYTE (_M_num + 7) / 8 // 256个中间M继电器,所占内存字节数
#define _S_BYTE (_S_num + 7) / 8 // 256个中间S继电器,所占内存字节数
#define _T_BYTE (_T_num + 7) / 8 // 32个定时器,所占内存字节数
#define _C_BYTE (_C_num + 7) / 8 // 32个计数器,所占内存字节数
#define _M8xxx_BYTE (_M8xxx_num+7)/8 // 24个M8xxx继电器,所占内存字节数
//-------------------------------------------------------------------------------------//
// 位元件 M8xxx 存储位 //
//-------------------------------------------------------------------------------------//
#define _M8000_ rM8xxx[0].BIT.BIT0
#define _M8001_ rM8xxx[0].BIT.BIT1
#define _M8002_ rM8xxx[0].BIT.BIT2
#define _M8003_ rM8xxx[0].BIT.BIT3
#define _M8004_ rM8xxx[0].BIT.BIT4
//.......
#define _M8011_ rM8xxx[1].BIT.BIT3
#define _M8012_ rM8xxx[1].BIT.BIT4
#define _M8013_ rM8xxx[1].BIT.BIT5
#define _M8014_ rM8xxx[1].BIT.BIT6
//.......
#define _M8020_ rM8xxx[2].BIT.BIT4
#define _M8021_ rM8xxx[2].BIT.BIT5
#define _M8022_ rM8xxx[2].BIT.BIT6
//-----------------------------------------
#define _M8000_old rM8xxx1[0].BIT.BIT0
#define _M8001_old rM8xxx1[0].BIT.BIT1
#define _M8002_old rM8xxx1[0].BIT.BIT2
#define _M8003_old rM8xxx1[0].BIT.BIT3
#define _M8004_old rM8xxx1[0].BIT.BIT4
//.......
#define _M8011_old rM8xxx1[1].BIT.BIT3
#define _M8012_old rM8xxx1[1].BIT.BIT4
#define _M8013_old rM8xxx1[1].BIT.BIT5
#define _M8014_old rM8xxx1[1].BIT.BIT6
//.......
#define _M8020_old rM8xxx1[2].BIT.BIT4
#define _M8021_old rM8xxx1[2].BIT.BIT5
#define _M8022_old rM8xxx1[2].BIT.BIT6
//-------------------------------------------------------------------------------------//
// 位元件 S 存储位 //
//-------------------------------------------------------------------------------------//
#define _S243_ rS[30].BIT.BIT3
#define _S244_ rS[30].BIT.BIT4
#define _S245_ rS[30].BIT.BIT5
#define _S246_ rS[30].BIT.BIT6
#define _S247_ rS[30].BIT.BIT7
#define _S248_ rS[31].BIT.BIT0
#define _S249_ rS[31].BIT.BIT1
#define _S250_ rS[31].BIT.BIT2
#define _S251_ rS[31].BIT.BIT3
#define _S252_ rS[31].BIT.BIT4
#define _S253_ rS[31].BIT.BIT5
#define _S254_ rS[31].BIT.BIT6
#define _S255_ rS[31].BIT.BIT7
//-------------------------------------------------------------------------------------//
#endif // __PLC51X_TYPE__H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -