Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Can I use serial comm port in Excel VB script?

Can I use serial communication port (COMM PORT) in Excel VB script?

If can, how can I use it???


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 12
Default Can I use serial comm port in Excel VB script?

bt.newsgroup.com.hk a écrit :
Can I use serial communication port (COMM PORT) in Excel VB script?

If can, how can I use it???



Hi Nelson,

If you read french language, have a look (basics + example) :
http://cherbe.free.fr/rs232.html

HTH

@+
FxM

  #3   Report Post  
Posted to microsoft.public.excel.programming
NC NC is offline
external usenet poster
 
Posts: 4
Default Can I use serial comm port in Excel VB script?

FxM,

Thanks for your support. But I cannot read french.
Could you give a xls example of setting COMM Port to me?
Thanks!

NC

"FxM" ???
???...
bt.newsgroup.com.hk a écrit :
Can I use serial communication port (COMM PORT) in Excel VB script?

If can, how can I use it???



Hi Nelson,

If you read french language, have a look (basics + example) :
http://cherbe.free.fr/rs232.html

HTH

@+
FxM



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 12
Default Can I use serial comm port in Excel VB script?

NC a écrit :
FxM,

Thanks for your support. But I cannot read french.
Could you give a xls example of setting COMM Port to me?
Thanks!

NC



Nelson,

My own translation of the web page.

=== start ===
Reading data via serail port (RS232)

You'll not find any theroy on this communication mode. Here's some
listing of tasks to be done with an example of code in VBA5.

Goal : put in a sheet directly collected values from an external instrument.
Used for this example :
* Excel97 ou above (Windows version only)
* VBA5 ou above
* activeX MSComm32.ocx (*)
* a dead weight instrument with RS232 output and documentation
* a small VB or VBA code

(*) This activeX is not provided with Office2000 or previous but only
with Visual Basic. First look at your system directory to find any file
named "mscom*.ocx". If present, go further; if not, you can register
actveX via the XL_RS232 (only free copy). The example soft also contains
example made in file "pesees.xls".
Use:
- download file XL_RS232.ZIP
- uncompress this file
- run SETUP.EXE
- open file "pesees.xls"
- run macro to test good working
- adapt VBA code with serial as needed

The following example uses COM1. Ilis possible to talk via parallel port
(undocumented here) using activeX named IOport.ocx (shareware) for win98
ou the control NTport.ocx under NT.

Doing the job

It's absolutely necessary to have instrument's documentation to serail
comms settings. Code can be adapted from any MS-Office 97 ou VB
application. Starting from Excel, press Alt-F11.

* Insert a module
* Insert a userform
* In window "toolbox", find out icon MSCOMM (like a telephone). If
missing, right-click toolbox and tick "Microsoft Communication Control".
* Drag and drop the MSCOMM control on userform
* Drag and drop a COMMANDBUTTON control on userform
* Put a label on userform
* Double click on COMMANDBUTTON and enter following code :

Private Sub CommandButton1_Click()
'empts the buffer
MSComm1.InBufferCount = 0
'choose serial port
MSComm1.CommPort = 1 'Com1
'Instruments comms settings, values to be founded in doc
'These values can be filled in here (not clean!)
'or in initialisation procedure (better)
'or in property 'setting' of control
'Ideal is offering to user a configuration menu
'This example is : 1200 bauds, 1 parity bit, 7 data bits, 1 stop bit
'stop
MSComm1.Settings = "1200,o,7,2"
'force to read on character only in view to check stabilisation
MSComm1.InputLen = 1
'open port
MSComm1.PortOpen = True
'loops until reading is not plus sign
Do While MSComm1.Input < "+"
Loop
'reads the 5 first characters and stores on sheet
MSComm1.InputLen = 5
Label1.Caption = MSComm1.Input
ActiveCell.Value = CSng(Label1.Caption)
ActiveCell.Offset(1, 0).Select
'close port
MSComm1.PortOpen = False
End Sub


In this example, instrument sens data continuously. Program reads data
looking for + sign, because this sign separates data packets.
Often it is possible to proceed by request/answer.
--- end ---

I personally tried to talk to a Modbus slave. Here's an example of code
I'm working with [under development for one year - always something else
to do :o) ]

Public Sub test()
With MSComm1
Sheets("Données").Range("A10").ClearContents
On Error Resume Next
.PortOpen = False
On Error GoTo 0
' D1 has 1
.CommPort = Sheets("Données").Range("D1").Value
' D2 shows 38400,n,8,1
.Settings = Sheets("Données").Range("D2").Value
.OutBufferSize = 256
.InBufferSize = 4096
.InputLen = 4096
'reading Modbus ASCII
.InputMode = comInputModeText
' .InputMode = comInputModeBinary
.PortOpen = True
deb = Now(): timeout = False
' D3 shows :010303E800020F
'= read 2 adresses on slave 01 starting at address 1000
.Output = Sheets("Données").Range("D3").Value & vbCrLf
'gives a 1 second timeout
fin = deb + TimeValue("0:0:1")
Do Until (Now fin)
DoEvents
Loop
inp = .Input
'ASCII = 2 last are checksum (to be checked by other)
Sheets("Données").Range("A10") = Left(inp, Len(inp) - 2)
.PortOpen = False
End With
End Sub

HTH

@+
FxM
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to export an Excel file to a serial port smiserA Excel Discussion (Misc queries) 0 October 28th 08 09:33 PM
serial port data acquisition jgseas Excel Programming 2 March 3rd 04 04:33 PM
Mac Serial Port Communication Jeff Robson Excel Programming 0 November 30th 03 03:51 PM
Excel and the Serial Port Hotbird Excel Programming 1 November 27th 03 11:10 PM
serial port mscomm32.ocx in excel Brian Excel Programming 0 July 25th 03 11:22 PM


All times are GMT +1. The time now is 04:36 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"