PLC怎么与上位机进行通讯

我是做西门子PLC编程的,也做过不少项目,但是没有做过PLC与上位机的通讯项目,我想请教一下各位老师怎么才能做西门子与上位的通讯,距离远的怎么做,距离近的怎么做。组态软件好学吗?怎么才能把4~20MA信号在组态软件上面显示数值,请各位老师有时间给我具体的说一下,十分感谢你,

PLC与上位机进行通讯,采用BlandC编写主机与PLC的通信程序,必须对COM1口进行初始化,波特率为9600bps,奇偶校验位采用偶校验,七位有效数据。

当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。

计算机可对PLC内各软设备进行读、写和强制ON/OFF操作。除开PLC的计时器和计数器的设定值采用常数时,以及文件寄存器内的数据,FX2N系列PLC的所有开关量输入、输出以及各软件设备对计算机都是透明的。

为了保证主机与PLC的通信准确无误,上位机也必须按通信协议进行和校验。如接收的信息有误,则重新读取。如重复3次仍不行,则显示错误信息。

使用C语言实现以上编程,主机还可向PLC写数据,进行单点的强近置位和复位。

在利用外部设备与可编程控制器之间进行通讯前,必须首先规定一些参数,如数据长度,奇偶校验、停止位以及波特率等,即通讯格式。

通讯格式是通过一个四位的16进制数而设定,这里设定为H6880,其含义是数据长度为7位,终结符为7位,奇偶校验为无,控制线为RS232接口,停止位为1位,和校验为自动添加,波特率为9600BPS,协议为专用协议,标题无,传输控制协议为协议格式1。

通讯格式是在PLC中首先将其设置好的。其中协议格式的通讯格式依次规定了控制代码、站号、PC号、命令、消息等待以及和校验代码等。在FX系列编程控制器中,站号是通过特殊寄存器D8121来设定的。设定范围是从00H到0FH。

实验台中由于上位机只和一个PLC气动实验台通信,所以站号为00H。PC号是A系列MELSECNET(II)或MELSECNET/B用来确定可编程控制器CPU的数字。FX系列的PC号为FFH,由两位ASCII字符来代表,即“FF”。

命令用来指定要求的操作(如读,写),在此控制软件中所使用的向PLC发送的主要指令有:

批量读出位元件BR指令;批量写入位元件BW指令;强制PLC运行(RUN)RR指令;强制PLC停止(STOP)RS指令。

消息等待是一段计算机要求的延迟时间,以实现在发送和接受状态间的转换。和校验代码用来确定消息中的数据没有受到破坏。它是通过加上和校验区域中的ASCII字符的16进制值计算得到的。

扩展资料:  

PLC与PC机之间实现通道,可使二者互补功能上的不足,PLC用于控制方面既方便又可靠,而PC机在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。

因此,各PLC制造厂家纷纷开发了适用于本公司的各种型号PLC与PC机通信的接口模块。三菱公司开发的FX-232AW接口模块用于FX2N系列上位机和PLC在遵循相同的通讯格式和通讯协议下便可以进行通讯了。

其通讯的基本过程是:先由上位机控制软件向PLC发出一条指令,随即控制软件进入等待状态,准备接收PLC的回应信息,在收到反馈信息后进行解读并判断通讯是否正确;如果判定反馈信息正确,就解读其反馈信息,在获得了所需的信息以后,即完成该次通讯过程,并准备进入下一个通讯过程。

反之,如果判定反馈信息不正确,则进行相应的错误处理,如向PLC重发指令等等。

参考资料:百度百科-PLC

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27
4~20mA信号首先通过模拟量输入模块采集到PLC内部,再用组太软件来监视PLC对应地址就可以了。做的好点呢,就在PLC内部进行下转换,加数字量再变成4~20的对应关系,这样就可以在组太上看成电流形式
组太软件不难,拿了东西,自己捣鼓捣鼓就行了
与上位机通讯的话,看你用什么协议,参考协议的说明,编好程序,用通讯线监视下就知道问题在哪里,不是很难本回答被提问者采纳
相似回答