新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 欧姆龙plc网络与通讯

欧姆龙plc网络与通讯

作者: 时间:2016-12-16 来源:网络 收藏

  帧发送时,FCS置于结束符前以检查是否发生数据错误。FCS是转换成2个ASCⅡ字符的8位数据,这个8位数据对帧开始的数据直到此帧正文结束的数据进行“异或”运算的结果。FCS检查程序如下:

  400*FCSCHECK

  410L=LEN(RESPONSE$)’

  420Q=0:FCSCK$=“”

  430A$=RIGHT$(RESPONSE$,1)

  440PRINTRESPONSE$,AS,L

  450IFA$=“*”THENLENGS=LEN(RESPONSE$)-3

  ELSELENGS=LEN(RESPONSE$)-2

  460FCSP$=MID(RESPONSE$,LENGS+1,2)’

  470FORI=1TOLENGS’

  480Q=ASC(MID$(RESPONSE$,I,1))XORQ

  490NEXTI

  500FCSD$=HEX$(Q)

  510IFLEN(FCSD$)=1,THEN,FCSD$=”0”+FCSD$’

  520IFFCSS$<>FCSP$,THENFCSCK$=“ERR”

  530PRINT“FCSD$=”;FCSD$,“FCSP$=”;FCSP$,“FCSCK$=”;FCSCK$

  540RETURN

  帧发送检查格式如图3.4所示。


图3.4帧发送检查

  3.3PLC与上位计算机通信程序

  上位机通信软件是用VB开发的。VB具有强大的图形显示功能,可以容易开发出界面良好的图形用户界面,同时VB还提供了串行端口控件MSCOMM,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串口初始化和数据的传输工作。通信程序如下:

  Subformlload()

  Mscomml.Comport=1

  Mscomml.Settings=“9600,n,8,1”

  Endsub

  Subcommandlclick

  Mscomml.Inputlen=0

  Ifmscomml.Portopen=falsethen

  Mscomml.Portopen=true

  Endif

  ForI=1toN;N为网络系统中的PLC个数

  Ifi<10then

  S$=“@”+“0”+str$(i)+“ts”+“abcd”

  Else

  S$=“@”+str$(i)+“ts”+“abcd”;abcd为测试字符

  Endif

  ……;

  Mscomml.Lutprt=sedate$

  Timer1on=false

  Timerl.Enable=true

  Dountil(mscomml.inbuffercount<>0)

  Or(timer1on=true)

  Domy=doevents()

  Loop

  Timer1.enable=false

  ……

  Redata,$=msconmml.Input

  Ifrdata$=sedate$

  ……;转入正常通信数据处理

  Else

  Labell.Cation=str$(i)+“测试通信失败,检查线睡后再测试”

  Endif

  Endsub

4、结束语

  OMRONPLC已广泛应用于工业过程控制,随着网络技术的不断提高和推广,PLC的控制能力和控制范围从设备级的控制发展到生产线级的控制乃至工厂级的控制。大力推广PLC的网络技术,必将加快我国工业企业向自动化、智能化发展的步伐。


上一页 1 2 3 下一页

评论


技术专区

关闭