Sorry for the delayed response (new member!).
If your basic question is how to interface RS232 with Iconics Genesis, read on. I am very new to Iconics, having just started with a beta copy of Version 8 just five days ago, but applied the following to a shop-floor barcode scanning app quickly and without any problems.
1. Do you have Microsoft's MSComm ActiveX control, free with Visual Basic (or possibly via MS download?). Search for C:\Windows\System32\MSComm32.ocx and/or place it in that directory. (If downloading, run regsvr32 c:\windows\system32\MSComm32.ocx to register the control within Windows. If you have VB, it should already be registered).
2.In Genesis, "Insert ActiveX control", via menu or (in version 8) the ActiveX menu icon.
3. Right-click on MSComm object icon and set communication properties. (9600,n,8,1...buffer sizes, etc). On buffers tab, set RThreshold = 1, SThreshold = 3, for intial test purposes.
4.Again in Genesis, right click MSComm object, "View VBA code", and paste in the following for test purposes...
'=============================================
Public txtValue$
Public txtBox As GwxText
'=============================================
' Open COM port when switching Genesis from
' "Configuration" to Run Mode. Also create
' handle to Genesis text display object (or
' OPC tag, etc). In this example, the Genesis
' text box object is named "SerialText"
'=============================================
Private Sub GwxDisplay_PreRuntimeStart()
' Close port, if "port already open"
' errors when debugging
' MSComm1.PortOpen = False
' Get handle to Genesis text display object
Set txtBox = ThisDisplay.GetVisibleObjectFromName("SerialText")
txtValue$ = ""
txtBox.text = ""
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 3
MSComm1.CommPort = 1
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.PortOpen = True
End Sub
'=============================================
' Close COM port when switching Genesis from
' "Run" to "Configuration" mode
'=============================================
MSComm1.PortOpen = False 'Close port at exit...
End Sub
'=============================================
'Process serial input...
'In this example, Genesis text object updates
'when incoming string contains return char(ASCII #13)
'=============================================
Private Sub MSComm1_OnComm()
response$ = MSComm1.Input
txtValue$ = txtValue$ + response$
If InStr(1, txtValue$, Chr$(13)) > 0 Then
txtBox.text = Trim$(txtValue$)
txtValue$ = ""
End If
End Sub
'=============================================
-Connect to the Genesis PC via Hyperterminal or some other source of RS232 data. You should see the data on the Genesis screen.
-For more info on using MSComm, including error handling, RS232 output, etc. search Microsofts site....
Examples:
-Note that the serial data, once received, can be sent to a GWXPoint object rather than the GWXText object used in this example.
Public MyOPCPoint As GwxPoint
Set MyOPCPoint = ThisDisplay.GetPointObjectFromName("Name_Of_Your_Genesis_OPC_Point")
...
Private Sub MSComm1_OnComm()
response$ = MSComm1.Input
MyOPCPoint.Value = response$
...
End Sub
Hope this helps. Respond with question...
Eric