发表于:2012/12/25 12:55:21
#0楼
请看要求如下,想自己学习PLC,最好是2000以下的用来试试
程序要求说明
一、利用串口,( 9600,n,8,1) 与上位机PC通讯。
二、有9个数据采集点,分别为0,1,2,3,4,5,6,7,8外围电路中,会输入高低电平。
当外部再一个采集点Key1的电平为低电平时,
在9个数据采集点中,寻找一个低电平的最大数值
例如:当1,2,3,8个位置 均为低电平时,记录最大的数字,此时应为8。
将此数字以协议,0x55 0x08 0xdd的格式发送到PC机
如果key1一直维持低电平时,约每0.7~1S发送一次。
三、PC约每1S发送一个信号给PLC,串口接收数据的协议为
0xaa 0x55 0xxx 0xdd
当xx 为不同值时的处理方式如下:(会有常开与常闭选择?)
1 1#继电器吸合
2 1#继电器放开
3 2#继电器吸合
4 2#继电器放开
5 3#继电器吸合
6 3#继电器放开
7 4#继电器吸合
8 4#继电器放开
未有下个的给定信号时维持原来的状态。
当检测到外部引入的key2为低电平时,所有的继电器放开。
估算用到的点数与设备如下:
串口通讯板
数据采集点9个(计算代电平最大值)
外部控制点2个(低电平有效)
继电器控制点4个
四、
如果PLC的最少点数都超过此值时,可如第三点增加一个key3及其它的按同类模式,改为控制继电器。
实际操作中,我会在PC机上用VB写程序与PLC通讯,通讯的波特率如上述(9600,n,8,1)协议发送与接收不同