很多板卡廠家的DIDO功能是用8255芯片實現的,例如凌華ACL7122、研華PCL722、研祥Evoc_PCL724、中泰PC6401,每個8255芯片有24個通道,分為A(8個)、B(8個)、C(8個)三個端口,C端口有分為高4位(C Upper,4~7)和低四位(C Lower,0~3)。8255的A、B、C口均可作為輸入或輸出,作為DI還是DO是由控制字決定的,而在組態王中是通過設置初始化字來實現的,初始化字的填寫格式如下:port,data,port,data……形式輸入,其中port為某個8255芯片的地址偏移量,data為他前面port所標定的8255芯片的控制字。
控制字的意義如下圖所示:
比如某塊板卡有兩個8255芯片,第一的偏移地址為3,第二個的偏移地址為5,那么我們將這個板卡的初始化字寫成這個形式:3,83H,5,88。 這個初始化字表示,第一塊芯片的端口A和端口C的高4位為DO,其余通道為DI;第二塊板卡端口C的高4位為DI,其余通道為DO。