很多板卡厂家的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。