三菱PLC与PC上位机VB通讯

时间:2019-05-14 23:06:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《三菱PLC与PC上位机VB通讯》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《三菱PLC与PC上位机VB通讯》。

第一篇:三菱PLC与PC上位机VB通讯

三菱PLC通讯

三菱PLC与PC上位机VB通讯

三菱PLC:FX1N + FX1N-232-BD

FX2N + FX2N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版

Windows 98中文版 + Visual Basic 6.0 中文企业版

两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)

一.三菱PLC的设置

三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。

此外,对于采用RS485形式1:N计算机链接的还必须对站点号(D8121)进行设定。设定的范围从00H到0FH(即0到15)。在这里对D8120采用下述设置: b15 b0 0110 1000 1000 1110 6 8 8 E 即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,采用计算机链接(RS-232C),自动添加和校验码,采用专用协议格式1。同时设定站号为0。具体设定如下所示:

FX PLC进行计算机链接时可用的专用协议有两种:格式1和格式4。两种格式的差别在于是否在每一个块上添加了CR + LF,其中添加了CR + LF的是格式4。在这里采用格式1。

二.上位机程序的编制

这里采用Microsoft公司的Visual Basic 6.0中文企业版编制上位机程序。Visual Basic中提供了一个名为MSComm的通信控件便于设计串行通信的程序。MSComm控件的主要属性有: 1. CommPort属性

CommPort属性用于指定所要使用的串行端口的号码。虽然Windows操作系统可以容纳最多256个串行通信端口,不过Visual Basic的MSComm控件则仅限于16个端口。2. Settings属性

Settings属性用于设置初始化参数。以字符串的形式设置波特率、奇偶校验、数据位、停止位等4个参数。其格式为“BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校验位检查方式,D表示数据位数,S表示停止位数。一般情况下,欧美仪器习惯使用“9600,n,8,1”当成设置值;而日本仪器则习惯使用“9600,e,7,2”作为设置值。Settings设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Settings必须完全一样,彼此才能顺利地通信,否则双方将无法正确接收到彼此所传输的信号。所以,该属性的设置必须和三菱PLC中D8120的相关设置保持一致。在这里,统一采用“9600,e,7,2”的设定。

三菱PLC通讯

3. PortOpen属性

PortOpen属性用于设置通信连接端口的状态。在使用串行端口之前必须先将要使用的串行端口打开。在上位机程序中应进行如下设定: Private Sub Form_Load()'窗体载入事件 MSComm1.CommPort = 1 '选择端口号 MSComm1.Settings = “9600,e,7,2” '设置端口属性 MSComm1.PortOpen = True '打开端口 End Sub 4. Output属性

MSComm控件的Output属性提供了发送的功能,当从计算机向可编程控制器写入数据或从可编程控制器读取数据时,上位机应当先发出以下格式(格式1)的指令字符串: ENQ 站号 PC号 命令 消息等待时间 字符区域A 和校验代码

其中站号为在D8121中的设定值,这里是:00,PC号对于FX系列为:FF。

因为ENQ,ACK,NAK等通信控制字符是不可见字符,所以先用Chr函数对其进行赋值: ENQ=Chr(5)ACK=Chr(6)NAK=Chr(&H15)然后在上位机程序中写入以下代码即可发出指令:

MSComm1.Output=ENQ &“00FF<命令><消息等待时间><字符区域A><和校验代码>” 5. Input属性

与Output属性相反,Input属性提供了接收数据的功能。它将对方传到输入缓冲区中的数据读进程序中,并清除缓冲区中已被读取的数据。

a.如果是从计算机向可编程控制器写入数据时,接收到从可编程控制器返回的应该是以下格式的字符串:

ACK 站号 PC号

或者

NAK 站号 PC号 错误代码

前一种表示可编程控制器已经正确接收到从计算机发来的指令,后一种表示可编程控制器未正确接收到从计算机发来的指令。

b.如果是从计算机向可编程控制器读取数据时,接收到从可编程控制器返回的应该是以下格式的字符串:

STX 站号 PC号 字符区域B ETX 和校验代码 或者 NAK 站号 PC号 错误代码

如果要连续读取数据可以利用Timer控件。将Output和Input放在Timer控件的Timer事件中即可。程序会以Timer控件的Interval属性中设置的间隔去发送指令和接收数据。对于MSComm控件的其他一些属性使用VB的默认值即可。

在串行通信传输的应用中,经常使用的Visual Basic中的字符串处理函数如下: Chr函数:返回含有特定ANSI或DBCS字符码的字符串。Asc函数:返回字符串第一个字符的ANSI或DBCS字符码。

Len函数:返回以字符数为单位的字符串长度。

Mid函数:取得字符串中特定数量的字符,可指定开始获取的位置和长度。Left函数:取得字符串的左边固定字符数的字符串。

Right函数:取得字符串的右边固定字符数的字符串。

Val函数:把字符串转换为数值,可以将8进制或16进制的字符串转换为10进制。Hex函数:返回以十六进制数值表示的字符串。

三菱PLC通讯

RS指令应用一

三菱PLC与计算机利用RS指令进行通讯(通讯手册9-14例)三菱PLC:FX1N + FX1N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版

Windows 98中文版 + Visual Basic 6.0中文企业版

两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)

一.三菱PLC的设置

三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。在这里对D8120采用下述设置: b15 b0 0000 0100 1000 1111 0 4 8 F 即数据长度为8位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,没有添加和校验码,采用无协议。PLC程序如下:

二.上位机程序的编制

完整程序代码及注释如下:

Private Sub cmd1_Click()

'发送按钮

lbl1.Caption = “" If txt1.Text = ”“ Then

'若发送数据栏中未键入指令则提示键入指令 lbl1.Caption = ”Please input data“ Else MSComm1.Output = txt1.Text

'发送指令 Timer1.Enabled = True

'触发延时接收 End If

三菱PLC通讯

End Sub Private Sub Form_Load()

'窗体载入事件 MSComm1.CommPort = 1

'选择端口号 MSComm1.Settings = ”9600,e,8,2“ '设置端口属性 MSComm1.PortOpen = True

'打开端口 End Sub

Private Sub Timer1_Timer()

'延时500ms接收 NAK = Chr(&H15)If MSComm1.InBufferCount > 0 Then txt2.Text = ”“ a = MSComm1.Input txt2.Text = a

'在接收数据栏中显示接收到的数据 Else lbl1.Caption = ”No response" End If Timer1.Enabled = False End Sub

三菱PLC通讯

RS指令应用二

三菱PLC与仪表之间通讯

三菱PLC:FX1N + FX1N-232-BD 仪表(称重器)

两者之间连线该仪表仅提供3线式的简化RS-232C口,即只有:RXD,TXD和GND,于是采用2-3,3-2,5-5的三线接法。

1. 对D8120进行设置并使其与仪表中的设置一致,对其中的控制线设置成使用无硬件握手方式,即(b12,b11,b10)=(0,0,0)。根据仪表说明书上对通讯的要求,设置如下:

b15

b0 0000 0000 1000 0110

0 0 8 6 2. 根据仪表说明书所述,该种仪表有两种工作方式:连续发送和指令状态。这里设置成指令状态,即仪表根据发来的指令返回相应的数据。在此使用READ指令,根据指令协议,输入的指令必须以确认。所以READ指令的ASCII输入为“52,45,41,44,0D,0A”一共6个字符,将RS指令的发送数据点数设为k6。另外返回数据的格式是18个字符,所以将RS指令的接收数据点数设为k18。通过

注:发送数据点数和接收数据点数必须按指令协议进行设置,否则通讯不能正常进行。PLC程序如下:

三菱PLC通讯

参考资料

1.三菱FX通讯用户手册(RS-232C,RS485)2.《Visual Basic与RS-232串行通信控制(最新版)》清华大学出版社

第二篇:三菱PLC通讯

三菱PLC通讯 资料整理——李永彬

三菱PLC与上位机通讯

三菱PLC:FX1N + FX1N-232-BD

FX2N + FX2N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版

Windows 98中文版 + Visual Basic 6.0 中文企业版

两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)一.三菱PLC的设置

三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。

此外,对于采用RS485形式1:N计算机链接的还必须对站点号(D8121)进行设定。设定的范围从00H到0FH(即0到15)。在这里对D8120采用下述设置: b15 b0 0110 1000 1000 1110 6 8 8 E 即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,采用计算机链接(RS-232C),自动添加和校验码,采用专用协议格式1。同时设定站号为0。具体设定如下所示:

FX PLC进行计算机链接时可用的专用协议有两种:格式1和格式4。两种格式的差别在于是否在每一个块上添加了CR + LF,其中添加了CR + LF的是格式4。在这里采用格式1。二.上位机程序的编制

这里采用Microsoft公司的Visual Basic 6.0中文企业版编制上位机程序。Visual Basic中提供了一个名为MSComm的通信控件便于设计串行通信的程序。MSComm控件的主要属性有: 1. CommPort属性

CommPort属性用于指定所要使用的串行端口的号码。虽然Windows操作系统可以容纳最多256个串行通信端口,不过Visual Basic的MSComm控件则仅限于16个端口。

2. Settings属性

Settings属性用于设置初始化参数。以字符串的形式设置波特率、奇偶校验、数据位、停止位等4个参数。其格式为“BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校验位检查方式,D表示数据位数,S表示停止位数。一般情况下,欧美仪器习惯使用“9600,n,8,1”当成设置值;而日本仪器则习惯使用“9600,e,7,2”作为设置值。Settings设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Settings必须完全一样,彼此才能顺利地通信,否则双方将无法正确接收到彼此所传输的信号。所以,该属性的设置必须和三菱PLC中D8120的相关设置保持一致。在这里,统一采用“9600,e,7,2”的设定。3. PortOpen属性

PortOpen属性用于设置通信连接端口的状态。在使用串行端口之前必须先将要使用的串行端口打开。在上位机程序中应进行如下设定: Private Sub Form_Load()'窗体载入事件 MSComm1.CommPort = 1 '选择端口号

三菱PLC通讯 资料整理——李永彬MSComm1.Settings = “9600,e,7,2” '设置端口属性 MSComm1.PortOpen = True '打开端口 End Sub 4. Output属性

MSComm控件的Output属性提供了发送的功能,当从计算机向可编程控制器写入数据或从可编程控制器读取数据时,上位机应当先发出以下格式(格式1)的指令字符串: ENQ 站号 PC号 命令 消息等待时间 字符区域A 和校验代码

其中站号为在D8121中的设定值,这里是:00,PC号对于FX系列为:FF。

因为ENQ,ACK,NAK等通信控制字符是不可见字符,所以先用Chr函数对其进行赋值: ENQ=Chr(5)ACK=Chr(6)NAK=Chr(&H15)

然后在上位机程序中写入以下代码即可发出指令:

MSComm1.Output=ENQ &“00FF<命令><消息等待时间><字符区域A><和校验代码>” 5. Input属性

与Output属性相反,Input属性提供了接收数据的功能。它将对方传到输入缓冲区中的数据读进程序中,并清除缓冲区中已被读取的数据。

a.如果是从计算机向可编程控制器写入数据时,接收到从可编程控制器返回的应该是以下格式的字符串:

ACK 站号 PC号

或者

NAK 站号 PC号 错误代码

前一种表示可编程控制器已经正确接收到从计算机发来的指令,后一种表示可编程控制器未正确接收到从计算机发来的指令。

b.如果是从计算机向可编程控制器读取数据时,接收到从可编程控制器返回的应该是以下格式的字符串:

STX 站号 PC号 字符区域B ETX 和校验代码 或者 NAK 站号 PC号 错误代码

如果要连续读取数据可以利用Timer控件。将Output和Input放在Timer控件的Timer事件中即可。程序会以Timer控件的Interval属性中设置的间隔去发送指令和接收数据。对于MSComm控件的其他一些属性使用VB的默认值即可。

在串行通信传输的应用中,经常使用的Visual Basic中的字符串处理函数如下: Chr函数:返回含有特定ANSI或DBCS字符码的字符串。Asc函数:返回字符串第一个字符的ANSI或DBCS字符码。

Len函数:返回以字符数为单位的字符串长度。

Mid函数:取得字符串中特定数量的字符,可指定开始获取的位置和长度。Left函数:取得字符串的左边固定字符数的字符串。Right函数:取得字符串的右边固定字符数的字符串。

Val函数:把字符串转换为数值,可以将8进制或16进制的字符串转换为10进制。Hex函数:返回以十六进制数值表示的字符串。

RS指令应用一

三菱PLC与计算机利用RS指令进行通讯(通讯手册9-14例)三菱PLC:FX1N + FX1N-232-BD 计算机:Windows XP中文企业版 + Visual Basic 6.0中文企业版

Windows 98中文版 + Visual Basic 6.0中文企业版

两者之间连接使用的是FX-232CAB-1电缆线(2-3,3-2,4-6(8),5-5)

一.三菱PLC的设置

三菱FX PLC在进行计算机链接(专用协议)和无协议通讯(RS指令)时均须对通讯格式(D8120)进行设定。其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等。在修改了D8120的设置后,确保关掉PLC的电源,然后再打开。在这里对D8120采用下述设置: b15 b0

三菱PLC通讯 资料整理——李永彬0000 0100 1000 1111 0 4 8 F 即数据长度为8位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,没有添加和校验码,采用无协议。PLC程序如下:

二.上位机程序的编制

完整程序代码及注释如下:

Private Sub cmd1_Click()

'发送按钮

lbl1.Caption = “" If txt1.Text = ”“ Then

'若发送数据栏中未键入指令则提示键入指令 lbl1.Caption = ”Please input data“ Else MSComm1.Output = txt1.Text

'发送指令 Timer1.Enabled = True

'触发延时接收 End If End Sub Private Sub Form_Load()

'窗体载入事件 MSComm1.CommPort = 1

'选择端口号 MSComm1.Settings = ”9600,e,8,2“ '设置端口属性 MSComm1.PortOpen = True

'打开端口 End Sub

Private Sub Timer1_Timer()

'延时500ms接收 NAK = Chr(&H15)If MSComm1.InBufferCount > 0 Then txt2.Text = ”“ a = MSComm1.Input txt2.Text = a

'在接收数据栏中显示接收到的数据 Else lbl1.Caption = ”No response" End If Timer1.Enabled = False End Sub

三菱PLC通讯 资料整理——李永彬

RS指令应用二

三菱PLC与仪表之间通讯

三菱PLC:FX1N + FX1N-232-BD 仪表(称重器)

两者之间连线该仪表仅提供3线式的简化RS-232C口,即只有:RXD,TXD和GND,于是采用2-3,3-2,5-5的三线接法。

1. 对D8120进行设置并使其与仪表中的设置一致,对其中的控制线设置成使用无硬件握手方式,即(b12,b11,b10)=(0,0,0)。根据仪表说明书上对通讯的要求,设置如下: b15

b0

0000 0000 1000 0110

0 0 8 6 2. 根据仪表说明书所述,该种仪表有两种工作方式:连续发送和指令状态。这里设置成指令状态,即仪表根据发来的指令返回相应的数据。在此使用READ指令,根据指令协议,输入的指令必须以确认。所以READ指令的ASCII输入为“52,45,41,44,0D,0A”一共6个字符,将RS指令的发送数据点数设为k6。另外返回数据的格式是18个字符,所以将RS指令的接收数据点数设为k18。通过

注:发送数据点数和接收数据点数必须按指令协议进行设置,否则通讯不能正常进行。PLC程序如下:

第三篇:VB与三菱PLC通信

VB与三菱PLC通信

VB源代码下载

http://www.xiexiebang.com/download.action?t=40&k=MTQzOTcxMTM=&pcode=LCw1NTkwMzYsNTU5MDM2&rPLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的协议进行了详细的介绍,并以VB为开发工具实现了PC机与FX系列PLC的串行通信。1 前言

PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的2 PC机与PLC实现通信的条件

带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:

(1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线元”变换之后才能互联。

(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。

(3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。程。

3 PC机及与FX系列PLC的串行通讯 3.1 硬件连接

PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-接关系:

3.2 FX系列PLC的通信协议

在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信(1)数据格式

FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波I码。(2)通信命令

FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示M—辅助继电器;S—状态元件;T—定时器;C—计数器;D—数据寄存器。(3)通信控制字符

FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。*当PLC对PC机发来的ENQ不理解时,用NAK回答。(4)报文格式

PC机向PLC发送的报文格式如下:

其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII码;S字节求累加和,溢出不计。由于每字节十六进制数变为两字节ASCII代码,故校验和为SUM数据段格式与含义如下:

*写命令的数据段有数据,读命令的数据段则无数据。读/写字节数为01H~40H(1~64)个。PLC向PC机发送的应答报文格式如下:

*对读命令的应答报文数据段为要读取的数据,一个数据占两个字节,分上位下位: 对写命令的应答报文无数据段,而用ACK及NAK作为应答内容。(5)传输过程

PC机与FX系列PLC之间采用应答方式通信,传输出错则组织重发。其传输过程如下:

PLC根据PC机的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PL4 利用VB6.0编写通信程序

下面以一个简单的例子来说明编写通信程序的要点。假设PC机要求从PLC中读入从D123开4),其传输应答过程及报文如下(图略可向作者索取):

命令报文中10F6H为D123的地址,04H表示要读入4个字节的数据。校验和SUM=3+30H+34H+

03H=174H,溢出部分不计,故SUMH为'7',SUML为‘4’,相应的ASCII中4个字节的十六进制数,其相应的ASCII码为8个字节,故应答报文长度为12个字节。根据PC机与FX系列PLC的传输应答过程编制出如下所示的通信程序流程图略。

利用VB的MSComm控件,按照流程图可以编写如下通信程序实现PC机与FX系列PLC之omm控件可以采用轮询或事件驱动的方法从端口获取数据。在这个例子中使用了轮询方法。(1)通信口初始化

Private Sub Initialize()MSComm1.CommPort = 1

MSComm1.Settings = ″9600,E,7,1″ MSComm1.InBufferSize = 1024 MSComm1.OutBufferSize = 1024 MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeText MSComm1.Handshaking = comNone MSComm1.PortOpen = True End Sub(2)请求通信与确认

Private Function MakeHandShaking()As Boolean Dim InPackage As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0 MSComm1.Output = Chr(&H5)Do

DoEvents Loop Until MSComm1.InBufferCount = 1 InPackage = MSComm1.Input If InPackage = Chr(&H6)Then MakeHandShaking = True Else

MakeHandShaking = FalseEnd If End Function(3)发送命令报文

Private Sub SendFrame()Dim OutString As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0

OutStrin = Chr(&H2)+″0″+″10F604″+Chr(&H3)+″74″MSComm1.Output = OutString End Sub(4)读取应答报文

Private Sub ReceiveFrame()Dim InString As String Do

DoEvents

Loop Until MSComm1.InBufferCount = 12 InString = MSComm1.Input End Sub 5 结束语

以本文所述机制编写的通信程序已成功用于以FX2N型PLC作为主控制器的高层建筑玻璃幕墙现了PC机对PLC的监视和控制。同时,本程序对PC机与其它型号PLC之间的通信也有一定下面是我自己写的一个VB与三菱FX系列PLC通讯的软件,如果想学习的可以下下来看看,下载地要源代码的留下邮箱!有什么不懂得也可以给我留言。我会做出解答的。下载地址

http://www.xiexiebang.com/download.action?t=40&k=MTMzNDg4MDg=&pcode=LCw1NTkwMzYsNTU5MDM2&r

第四篇:VB实现PC与欧姆龙PLC通讯的串口编程

Private Sub Form_Load()

Dim i As Integer'OPEN COM1

If ComTrue(1)= 0 Then

If ComOpen(1, 38400, 7, 1, 1, “sjh”)= 1 Then 'MsgBox(“已注册”)'sjh为你的注册账号Call SetDelayNum(64)

End If

End If

jisu

jisu1

jisu2

End Sub

第五篇:51单片机与三菱PLC通讯实例

51单片机与三菱PLC无协议通讯成功

我用了两个晚上的时间查阅一些资料,利用三菱PLC的扩展RS485通讯板与其51单片机连接通讯,可写PLC任意的地址。长度可达1000米,看见网上写的都很烦且对三菱和单片机不是很熟的朋友来说有一定的阅读难度,今天将它与大家分享。希望在此基础上大家能扩展出自己想要的功能,过些时间有空我在写个半双工的程序。硬件部分:

我用的是天祥单片机实验板,由于没有RS485接口,我利用ADM485芯片自制了一个485接口与三菱PLC的扩展RS485通讯如图,但如果要进行半双工通讯,须将P3.0口到下载程序的RS232芯片的线断开可用一个跳线,用RS485的时候断开RS232,用RS232的时候插上跳线帽。硬件连接如图

PLC程序:

通讯我用单片机做主机(只发送指令),PLC做从机(只接收指令),单工单向,以便初学着掌握。

格式:1位启始,8位数据,一位停止。所以PLC寄存器D8120:0C81.plc程序很简单不懂的可以看下三菱PLC的通讯手册。如下图:

三:单片机程序:

#include

/*单片机的头文件*/ unsigned char code tab[]={0x17,0xff};/*PLC输出的Y点数,PLC输出Y灯0125678亮*/ sbit led=P1^1;

/*将RS485置为发送数据模式*/ unsigned char i;void init(){ SCON=0x50;

/*串口中断开*/ TMOD=0x20;

/*定时器设置*/

TH1=0xfd;

/*定时时间的高位*/ TL1=0xfd;

/*定时时间的低位,速度为9600BPS*/ TR1=1;

/*定时器开*/ EA=1;

/*开总中断*/ TI=0;

/*复位串口中断*/ led=1;

/*将RS485置为发送数据模式*/ } void main(){ init();

/*调用子程序*/ for(i=0;i<2;i++){ SBUF=tab[i];

/*将数据发送到串口*/ while(!TI);

/*等待串口数据发送结束*/ TI=0;

/*复位串口中断*/ } } 四:注意点。

1:RS485的线不能接反,否则数据将不正确。

2:单片机的晶振要选择11.0592MHZ,否则PLC接收到数据也不正确。

3:RS485芯片的电源不能接反,否则要烧坏芯片。

今天要去山东调试机器,现在正在高铁上,刚好有空把这篇心得写好,有错误的地方还请大家指正,也希望有共同爱好的一起交流心得。

QQ:79814563 注明时工控交友

电话:***

姓名:黄辉 2011年12月17日 Saturday

下载三菱PLC与PC上位机VB通讯word格式文档
下载三菱PLC与PC上位机VB通讯.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    变频器与上位机通讯故障的排除方法

    1 实例一 (1) 故障现象:客户打技术服务电话报障:某工厂一车间40台22kw风机做节能改造,每台变频器都配有一个上位机ddc模块进行通讯控制(加拿大进口)。上位 机主要是控制变频器的故......

    国产PLC 海为(Haiwell)PLC与三菱PLC进行通讯

    Haiwell(海为)PLC与三菱PLC通讯介绍 山东大风机电自动化 王伦 概述:本文主要介绍了海为PLC与三菱FX2N系列进行通讯的实验情况。 关键字:海为PLC FX2N 自由通讯 CRC校验 第一部分......

    PLC和PC机间的串行通信

    关键词:RS-232串行通信 可编程控制器 自由端口模式 数据缓冲区 HG-2003型温升测控装置是笔者与我国北京某科学研究联联合开发的一套专门用于高压晶闸管阀温升检测试验的测控......

    实验四单片机串行口与PC机通讯实验(写写帮推荐)

    实验四单片机串行口与PC机通讯实验 一.实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。 3.了解......

    家庭监护终端与手机、上位机及服务器通讯协议22

    家庭监护终端与手机或上位机通讯协议 1、手机或上位机发出的START指令 typedef struct { unsigned char header;0xFF unsi gned char header;0xFD unsigned char serial;......

    三菱PLC与变频器连接问题

    三菱PLC 应用 如何判断用PNP 还是NPN 的个人工作心得 10~30VDC 接近开关与PLC 连接时,如何判断用PNP 还是NPN 的个人工作心得: 对于PLC 的开关量输入回路。我个人感觉日本三菱......

    三菱PLC与变频器连接问题

    三菱PLC应用如何判断用PNP还是NPN的个人工作心得10~30VDC接近开关与PLC连接时,如何判断用PNP还是NPN的个人工作心得:对于PLC的开关量输入回路。我个人感觉日本三菱的要好得多,......

    51单片机与PC机通信资料

    《专业综合实习报告》 专业:电子信息工程 年级: 2013级指导教师:学生:目录 一:实验项目名称 二:前言 三:项目内容及要求 四:串口通信原理 五:设计思路 5.1虚拟串口的设置 5.2下位机......