亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plc_public.h

?? 以前做的一個仿PLC程序
?? H
字號:
;/****************************************Copyright (C)**************************************************
;**                               	
;**                                                                             
;**                                  
;**--------------文件信息--------------------------------------------------------------------------------
;**文   件   名: PLC_PUBLIC.H
;**版        本: V2.1
;**創   建   人: LuHeDing
;**最后修改日期: 2010年05月08日
;**描        述: PLC公共參數聲明
;** 
;********************************************************************************************************/

#ifndef  PLC_PUBLIC_H
#define  PLC_PUBLIC_H
#include "LPC_1768.H"
#include "PLC_CONF.H"
/******************************************************************************/
typedef unsigned char  uint8;   /* 無符號8位整型變量    */
typedef signed   char  int8;    /* 有符號8位整型變量	*/
typedef unsigned short uint16;  /* 無符號16位整型變量   */
typedef signed   short int16;   /* 有符號16位整型變量   */
typedef unsigned int   uint32;  /* 無符號32位整型變量   */
typedef unsigned long long   uint64;  /* 無符號64位整型變量   */
typedef signed   int   int32;   /* 有符號32位整型變量   */ 
typedef unsigned long  u32;
typedef unsigned short u16;
typedef unsigned char  u8;
/******************************************************************************/
#define RUN_LED 1<<5  //p0.05
#define RUN_KEY 1<<14 //P1.14(89)
#define ERR_LED 1<<4  //p0.04 
#define 	O1	1<<15  //P1.15(88)CLK
#define 	O2	1<<16  //P1.16(87)OUT_CP
#define 	O3	1<<17  //P1.17(86)OUT_DATA
#define 	O4	1<<29  //P4.29(85)INT_LD
#define 	I5	1<<28  //P4.28(82)INT_DATA
extern      unsigned int MyD_I_DATA,MyD_O_DATA;
extern      void PLC_IO_INIT(void);
extern      void PLC_Init(void);
extern      void PLC_X_Filter(void);
extern      void MyD_IO_Refresh(void);
extern      void PLC_IO_BREAK(void);

/******************************************************************************/
/*extern uint32 timer0_counter;
extern uint32 timer1_counter;
extern uint32 timer2_counter;
extern uint32 timer3_counter;  */
/******************************************************************************/
#define  PLC_Type  0x5EF6
extern char  	PLC_UART_BUFFER[0X8F]; 	    //接收緩存	 BUFFER
extern uint8    PLC_CommBuf[0x8f];
extern char  	PLC_UART_T_BUFFER[0x8F]; 	//發送緩存
extern uint8 	PLC_UART_RECEIVE_CNT;		//接收計數
extern uint8 	PLC_UART_T_CNT;		//發送計數
extern uint8    UART_COUNT,UART_COUNT2;

extern void     PLC_UART_CMD(void);
extern void     PLC_UART_HANDLE(void); 
extern void     PLC_UART_SEND(char DATA);
/******************************************************************************/
extern uint8    PLC_STL_CMD;
extern uint16   PLC_STL_ADD;//上一步執行的STL(S)號
extern void     PLC_STL_RUN(void);		   //STL外指令	 

extern uint8    BOT_BIT;				   //掉電執行標志
/******************************************************************************/
extern uint32 	PLC_PC,PLC_O_PC;		 					//PLC程序指針
extern uint16 	PLC_TEMP1,PLC_TEMP2,PLC_CMD;	//程序執行專用16位寄存器
extern uint16 	PLC_TEMP3,PLC_TEMP4;			//程序執行專用16位寄存器
extern uint32 	PLC_TEMP5,PLC_TEMP6,PLC_TEMPA;			//程序執行專用32位寄存器
extern uint64   PLC_TEMP7,PLC_TEMP8,PLC_TEMP9;//程序執行專用64位寄存器
extern uint8  	PLC_ACC_BIT,PLC_MPS_BIT;		//程序執行專用(運算棧及分線棧)
extern uint16 	PLC_RUN_TIME; 					// 掃描時間
extern void     PLC_PROG_ERROR(uint16 err_id);	//PLC程序錯誤
extern uint8    PLC_1MS_BIT;					//PLC 1MS標志位(用于其它程式運行標志)
extern uint8    PLC_RUN_BIT;	 				//PLC運行標志
// 0=無運行;1=PLC運行前數據復位;2=PLC程序檢測中;3=PLC程序下常運行;4=PLC停止前數據復位;
// 5=PLC程序出錯處理;6=PLC程序出錯;其它=?
/******************************************************************************/
#define PLC_PROG_B_START_ADD  	0x2007E000 	 			//程序寫入開始地址
#define PLC_PROG_B_END_ADD    	0x20081FFF 	 			//程序寫入結束地址

extern void   PLC_END_PROG(void);
extern void	  MyD_IO_INIT(void);
extern void	  MyD_I_INPUT(void);
extern void	  PLC_IO_BREAK(void);
extern void	  PLC_RESET_RAM(void);
extern void   PLC_PROG_TEST(void);
extern void   PLC_PROG_ERROR(uint16 err_id);
extern void   PLC_AllInit(void);
extern void   diy(unsigned int diy_t);
/******************************************************************************/
extern const uint8 hex[256];
extern const uint8 asc[16];
/******************************************************************************/
extern const uint8 PLC_BIT_OR[];
extern const uint8 PLC_BIT_AND[];
extern const uint8 PROG_CODE[];
/******************************************************************************/
#define PLC_RAM8(x)    (*(u8*)(u32)(x))					//字節方式	R/W RAM	R ROM
#define PLC_RAM16(x)   (*(u16*)(u32)(x))				//半字方式	R/W RAM	R ROM
#define PLC_RAM32(x)   (*(u32*)(u32)(x))				//字方式	R/W RAM	R ROM
/******************************************************************************/
#define PLC_R_START_ADD  		0x10001000				//PLC_RAM開始地址
#define PLC_R_END_ADD       	0x10006FFF			    //PLC_RAM結束地址0X7E7E

#define PLC_PROG_START_ADD  	0x0003FFA4 	 			//ROM開始地址
#define PLC_PROG_END_ADD    	0x00043FFF 	 			//ROM結束地址
#define PLC_PROG_START_ADD2  	0x00040000              //執行ROM開始地址

#define PLC_T_START_ADD			PLC_R_START_ADD+0x0800	//T計時器當前值開始地址
#define PLC_C_START_ADD			PLC_R_START_ADD+0x0A00	//C計時器當前值開始地址
#define PLC_C16_START_ADD		PLC_R_START_ADD+0x0A00	//C16位計數器當前值開始地址
#define PLC_C32_START_ADD		PLC_R_START_ADD+0x0C00	//C32位計數器當前值開始地址
#define PLC_D8000_START_ADD		PLC_R_START_ADD+0x0E00	//D8000-D8255當前值開始地址
#define PLC_D_START_ADD			PLC_R_START_ADD+0x1000	//D0-D999當前值開始地址	 0x1000-0x17CF
#define PLC_D1000_START_ADD		PLC_R_START_ADD+0x17D0	//D1000-D7999當前值開始地址



//#define PLC_O_R_START_ADD		PLC_R_START_ADD+0x0200	//保存線圈舊值
//#define PLC_CT_C_START_ADD	PLC_R_START_ADD+0x0400	//C T COIL 線圈

//#define PLC_Comm_Rx	            PLC_R_START_ADD+0x5B00	//通信命令(接收)緩存
//#define PLC_Comm_Tx	            PLC_R_START_ADD+0x5B40	//通信命令(接收)緩存

#define PLC_Ins1400_S_Add		PLC_R_START_ADD+0x5D00	//E10 1400配置開始地址
#define PLC_Ins1790_S_Add		PLC_R_START_ADD+0x5B90	//E10 1790配置開始地址
/******************************************************************************/
//#define PLC_ROM_TEST(x)		(PLC_RAM8(PLC_PROG_START_ADD2+((x)/8)) 		& PLC_BIT_OR[(x)%8])
#define PLC_BIT_TEST(x)		(PLC_RAM8(PLC_R_START_ADD+((x)/8)) 			& PLC_BIT_OR[(x)%8])
#define PLC_BIT_ON(x)		(PLC_RAM8(PLC_R_START_ADD+((x)/8))			|=PLC_BIT_OR[(x)%8])
#define PLC_BIT_OFF(x)		(PLC_RAM8(PLC_R_START_ADD+((x)/8))			&=PLC_BIT_AND[(x)%8])
#define PLC_O_BIT_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x0600+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_O2_BIT_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x0400+((x)/8)) 	& PLC_BIT_OR[(x)%8])
//PLS(F) Y M
#define PLC_PL_BIT_TEST(x)		(PLC_RAM8(PLC_R_START_ADD+0X0200+((x)/8)) & PLC_BIT_OR[(x)%8])
#define PLC_PL_BIT_ON(x)		(PLC_RAM8(PLC_R_START_ADD+0X0200+((x)/8)) |=PLC_BIT_OR[(x)%8])
#define PLC_PL_BIT_OFF(x)		(PLC_RAM8(PLC_R_START_ADD+0X0200+((x)/8)) &=PLC_BIT_AND[(x)%8])
 //T
#define PLC_T_OUT_BIT_TEST(x) (PLC_RAM8(PLC_R_START_ADD+0x00C0+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_T_OUT_BIT_ON(x)	  (PLC_RAM8(PLC_R_START_ADD+0x00C0+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_T_OUT_BIT_OFF(x)  (PLC_RAM8(PLC_R_START_ADD+0x00C0+((x)/8))	&=PLC_BIT_AND[(x)%8])
#define PLC_T_C_BIT_TEST(x)	  (PLC_RAM8(PLC_R_START_ADD+0x02C0+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_T_C_BIT_ON(x)	  (PLC_RAM8(PLC_R_START_ADD+0x02C0+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_T_C_BIT_OFF(x)	  (PLC_RAM8(PLC_R_START_ADD+0x02C0+((x)/8))	&=PLC_BIT_AND[(x)%8])
//RST T
#define PLC_T_RST_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x0240+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_T_RST_ON(x)	    (PLC_RAM8(PLC_R_START_ADD+0x0240+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_T_RST_OFF(x)    (PLC_RAM8(PLC_R_START_ADD+0x0240+((x)/8))	&=PLC_BIT_AND[(x)%8])
//C
#define PLC_C_C_BIT_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x03C0+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_C_OUT_BIT_ON(x)	(PLC_RAM8(PLC_R_START_ADD+0x01C0+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_C_OUT_BIT_OFF(x)(PLC_RAM8(PLC_R_START_ADD+0x01C0+((x)/8))	&=PLC_BIT_AND[(x)%8])
#define PLC_C_C_BIT_ON(x)	(PLC_RAM8(PLC_R_START_ADD+0x03C0+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_C_C_BIT_OFF(x)	(PLC_RAM8(PLC_R_START_ADD+0x03C0+((x)/8))	&=PLC_BIT_AND[(x)%8])
//RST C
#define PLC_C_RST_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x0280+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_C_RST_ON(x)	    (PLC_RAM8(PLC_R_START_ADD+0x0280+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_C_RST_OFF(x)    (PLC_RAM8(PLC_R_START_ADD+0x0280+((x)/8))	&=PLC_BIT_AND[(x)%8])
//X Y
#define PLC_X_BIT_ON(x)		(PLC_RAM8(PLC_R_START_ADD+0x0080+((x)/8))	|=PLC_BIT_OR[(x)%8])
#define PLC_X_BIT_OFF(x)	(PLC_RAM8(PLC_R_START_ADD+0x0080+((x)/8))	&=PLC_BIT_AND[(x)%8])
#define PLC_Y_C_BIT_TEST(x)	(PLC_RAM8(PLC_R_START_ADD+0x00A0+((x)/8)) 	& PLC_BIT_OR[(x)%8])
//FNC(P)
#define PLC_FNC_P_BIT_TEST(x)(PLC_RAM8(PLC_R_START_ADD+0x4E80+(((x)/2)/8)) 	& PLC_BIT_OR[((x)/2)%8])
#define PLC_FNC_P_BIT_ON(x)	 (PLC_RAM8(PLC_R_START_ADD+0x4E80+(((x)/2)/8))	|=PLC_BIT_OR[((x)/2)%8])
#define PLC_FNC_P_BIT_OFF(x) (PLC_RAM8(PLC_R_START_ADD+0x4E80+(((x)/2)/8))	&=PLC_BIT_AND[((x)/2)%8])
//P0-P127
#define PLC_P_TEST(x)   (PLC_RAM8(PLC_R_START_ADD+0x5800+((x)/8)) 	& PLC_BIT_OR[(x)%8])
#define PLC_P_ON(x)	    (PLC_RAM8(PLC_R_START_ADD+0x5800+((x)/8))	|=PLC_BIT_OR[(x)%8])
/******************************************************************************/

extern void init_timer(uint8 timer_num, uint32 timerInterval );
extern void enable_timer(uint8 timer_num );
extern void disable_timer(uint8 timer_num );
//extern void reset_timer( uint8 timer_num );
extern void bod_init (void);
extern uint32_t UARTInit(uint32_t portNum, uint32_t Baudrate );
extern void PLC_UART_SEND(char data);
extern void UARTSend2(void);
extern void PLC_RESET_RAM(void);
extern void PLC_PROG_RUN(void);
extern void PLC_T_COUNT(void);
extern void PLC_M_MS(void);
/*********************數據復位***********************************************/
extern void PLC_PowerUpReset(void);

/*********************數據操作***********************************************/
extern void   PLC_ByteWrite64(uint32 pc,uint32 Data,uint32 Data2);
extern void   PLC_ByteWrite32(uint32 pc,uint32 Data);//32位寫
extern void   PLC_ByteWrite16(uint32 pc,uint16 Data);//16位寫
extern uint32 PLC_ByteRead32(uint32 pc);//32位讀
extern uint16 PLC_ByteRead16(uint32 pc);//16位讀
extern void   PLC_ProgDataTest(uint32 pc,uint8 count);//專用于程序開始測試
extern void   PLC_ByteReset(uint16 BitStartAdd,uint16 BitEndAdd);//字節數據批量復位
extern void   PLC_BitReset(uint16 BitStartAdd,uint16 BitEndAdd);//位數據批量復位
extern uint32 PLC_ProgTypeAddReturn(uint32 pc);//從程序中返回類型及地址
extern uint16 PLC_ProgTypeReturn(uint32 pc);//從程序中返回類型
extern uint16 PLC_ProgAddReturn(uint32 pc);//從程序中返回地址
/*********************高速指令***********************************************/
extern uint8  Y0_H_OE,Y1_H_OE;
extern uint16 PWM_Y0_ON_TIMER,PWM_Y0_CYCLE,PWM_Y0_COUNT;
extern uint16 PWM_Y1_ON_TIMER,PWM_Y1_CYCLE,PWM_Y1_COUNT;
extern uint8  PLSY_Y0_CCW,PLSY_Y1_CCW;
extern uint32 PLSY_Y0_COUNT,PLSY_Y1_COUNT;
extern void   PLC_PWM_RUN(uint16 PWM_Width,uint16 PWM_Cycle,uint16 Y_num);
extern void   PLC_PWM_STOP(uint16 Y_num);
extern void   PLC_PLSY_RUN(uint32 PLSY_Frequency,uint32 PLSY_Count,uint16 Y_num);
extern void   PLC_PLSY_STOP(uint16 Y_num);
extern void   H_Y0_Y1_STOP(void);
#endif   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区的| 中文字幕成人av| 精品久久久久久久人人人人传媒 | 国产一区二区三区| 色婷婷精品久久二区二区蜜臂av| 日韩一级片在线播放| 最好看的中文字幕久久| 久久疯狂做爰流白浆xx| 欧美日韩免费视频| 国产欧美一区二区精品久导航| 97久久久精品综合88久久| 中文字幕一区二区在线播放| 日日夜夜免费精品| 成人毛片在线观看| 精品久久久久久久久久久久包黑料| 亚洲欧美综合色| 国产一区二区精品在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 国产成人av福利| 在线成人免费观看| 亚洲免费成人av| 成人性生交大片免费看在线播放| 欧美一级日韩一级| 亚洲午夜一区二区| 在线观看亚洲专区| 国产精品久久久久久久久免费丝袜 | 天堂av在线一区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲3atv精品一区二区三区| 91久久精品网| 一区二区三区不卡视频| av在线综合网| 国产精品久久久久aaaa樱花| 成人性视频网站| 欧美国产激情一区二区三区蜜月| 国产精品69毛片高清亚洲| 久久九九久精品国产免费直播| 久久97超碰色| 国产欧美一区二区精品性| 成人一级视频在线观看| 国产精品麻豆久久久| 91欧美一区二区| 一二三四社区欧美黄| 欧美三级视频在线观看| 国产精品情趣视频| 国产一区二区剧情av在线| 国产精品久久影院| 福利一区在线观看| 国产农村妇女精品| 风间由美中文字幕在线看视频国产欧美 | 日本高清成人免费播放| 国产精品成人网| 成人av免费在线| 国产精品国产三级国产aⅴ中文 | 成a人片亚洲日本久久| 国产欧美精品一区二区色综合| 国产一区二区在线视频| 精品国产一区二区在线观看| 美女被吸乳得到大胸91| 日韩天堂在线观看| 精品无码三级在线观看视频| 久久午夜色播影院免费高清| 国产乱妇无码大片在线观看| 久久理论电影网| 国产原创一区二区| 91精品国产色综合久久| 麻豆极品一区二区三区| 欧美成人福利视频| 粉嫩高潮美女一区二区三区| 亚洲欧洲性图库| 欧美自拍偷拍午夜视频| 视频一区二区三区入口| 久久综合国产精品| 国产精品资源在线看| 国产人成一区二区三区影院| 91亚洲精华国产精华精华液| 亚洲一区二区三区四区五区中文| 欧美亚洲综合色| 青草av.久久免费一区| 欧美精品一区二区三区蜜桃视频 | 亚洲天堂网中文字| 欧美日韩另类国产亚洲欧美一级| 亚洲国产一区二区视频| 欧美一区二区三级| 九九九精品视频| 中文字幕一区二区在线观看| 91精选在线观看| 国产99精品在线观看| 亚洲午夜久久久久久久久电影网| 欧美成人伊人久久综合网| 国产成人亚洲综合a∨婷婷| 日韩美女精品在线| 精品欧美一区二区久久| 91片黄在线观看| 国产资源在线一区| 久久久久久久综合日本| 制服.丝袜.亚洲.另类.中文| 成人av免费观看| 日本欧美久久久久免费播放网| 国产精品久久久久9999吃药| 日韩视频在线观看一区二区| 91免费看`日韩一区二区| 蜜臀av一级做a爰片久久| 亚洲人被黑人高潮完整版| 欧美sm极限捆绑bd| 91色porny在线视频| 国产精品主播直播| 日韩国产欧美在线观看| 成人欧美一区二区三区白人| 久久亚洲精华国产精华液| 欧美日韩精品一区二区三区 | 日韩影视精彩在线| 亚洲视频一二三区| 亚洲图片另类小说| 久久久不卡网国产精品一区| 日韩午夜电影在线观看| 欧美日产在线观看| 91精品91久久久中77777| 国产一区二区三区免费在线观看| 天堂蜜桃91精品| 1024成人网色www| 国产精品成人网| 中文子幕无线码一区tr| 亚洲精品在线观| 日韩精品在线一区二区| 欧美日韩三级一区二区| 91福利精品第一导航| hitomi一区二区三区精品| 国产黄色成人av| 国产一区欧美日韩| 久久99在线观看| 国产精品一二三四五| 国产综合久久久久久久久久久久| 蜜桃av一区二区在线观看| 免费成人你懂的| 麻豆一区二区三| 久久成人羞羞网站| 狠狠色伊人亚洲综合成人| 久久av资源网| 国产大陆亚洲精品国产| 色综合中文字幕国产 | 精品国产乱码久久久久久久久| 欧美一卡在线观看| 欧美在线高清视频| 91精品免费在线观看| 日韩欧美亚洲一区二区| 精品国产91洋老外米糕| 国产日韩欧美一区二区三区乱码 | 欧美色偷偷大香| 在线综合亚洲欧美在线视频| 欧美亚洲综合网| 欧美丰满少妇xxxxx高潮对白 | 日本不卡高清视频| 免费av网站大全久久| 国产精品影视网| 成人黄色在线网站| 在线影院国内精品| 在线观看91视频| 久久伊人中文字幕| 国产色91在线| 亚洲欧美日韩中文字幕一区二区三区| 一区二区三区不卡在线观看| 蜜桃免费网站一区二区三区 | 亚洲二区在线视频| 久草热8精品视频在线观看| 懂色av一区二区三区免费观看 | 国产性色一区二区| 亚洲欧洲精品一区二区精品久久久| 中文字幕av一区二区三区高 | 国产福利一区在线| 色香蕉成人二区免费| 日韩一级大片在线| 亚洲色图欧洲色图| 日本美女视频一区二区| 国产69精品久久久久毛片| 播五月开心婷婷综合| 欧美日韩国产123区| 国产日韩亚洲欧美综合| 午夜视频一区在线观看| 国产一区二区三区高清播放| 欧美日韩免费视频| 中文字幕日本不卡| 免费成人av在线播放| 欧美日韩一二三区| 国产视频一区在线观看| 天天色天天爱天天射综合| 成人晚上爱看视频| 欧美三片在线视频观看| 亚洲综合自拍偷拍| 成人一区在线观看| 日韩女优av电影| 亚洲国产三级在线| youjizz国产精品| 久久免费的精品国产v∧| 亚洲国产另类精品专区| 欧美日韩一本到| 一区二区三区四区国产精品| 高清不卡在线观看| 国产亚洲欧美日韩在线一区| 日本视频免费一区|