News:

Welcome on our forum!

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Flaps

#1
Hi group,
This is a little lengthy but I hope you'll bear with me.
I'm experiencing some command/response issues when redirecting serial communication between 2 virtual ports and a balance.
Following a "Send" command to the balance (issued from a proprietary software) I intercept and modify the balance-response before it is redirected to a port used by the proprietary software which processes the modified data.

The setup works fine except for a detail of which I was initially unaware: When switching between balance commands  it seems as if the previous command is re-sent - not the new command. Could it be some sort of bufferthing I need to set up in ASDL ?.
There is no problem when issuing the commands directly via a terminal program (Termite). switching between commands results in the expected responses every time - no need to resend it.

Communicating directly with the balance (no virtual ports and going directly to COM5) using Termite :
Sending command  : "S"
Response : "S S       0.00 mg"
Switching to new command :
sending command  : "T"
Response : "T S       0.00 mg"

My virtual port setup is the following :
Balance <-> Com5  <->(Com4 <->Com3) <-> Software/Terminal prog.  Com3/4 are the virtual pair.
Sending command  : "S" (to COM3)
Response : "S S       0.00 mg"
Switching to new command :
sending command  : "T"
Response : "S S       0.00 mg" (Which is the response expected from the previous "S"-command). Resending the "T" command will result in the correct (taring) function.

The problem is the same whenever I switch command (from T to S or vice versa) the first response is the response expected from the previous command.

I can physically see on the balance which command it is processing  as it says whether it is "taring" or "capturing wighing data". Therefore I'm quite sure that even if ASDL states that a port is sending a "T" to the port, the balance shows that it is in fact receiving and responding to the previous "S" command.
Could this be related to some sort of buffer-setting or the like?. Any assistance would be greatly appreciated.[/left]
#2
Hi Group
I've previously had a working solution to my problem but unfortunately my setup was deleted and I cannot for the life of me remember how it was done let alone fix i now. I received expert and extensive help from the official aggsoft support who made it work.

Anyway, - I need to communicate with a balance by means of a software which runs in a winXP virtual machine (VM). My balance is connected to a serial port (Currently COM4) well - a usb port emulating a serial port) under Win10 and this serial port is linked to "COM1" in the VM.

Using Termite (under the virtual machine) I can send balance commands and receive responses - no problem here. However, I need to format the data response from the balance before it is passed back to my program.

In order to do that I've tried to set up virtual ports (COM2 and COM5), so that COM2 is linked to "COM1" of the virtual machine and COM2. COM2 is set to redirect whatever it receives  (the balance command) to COM4. COM4 is set up to parse the balance response and redirect the output back to COM2.

However, I can see that the command sent via VM COM1 to COM2 actually arrives on COM2 and that it is also redirected from here to COM4. However, for some reason the balance does not respond to the command (return a value) in this setup. If I link COM4 directly to the VM Com1 the balance responds immediately.

As I said I've had this up and running before so I know it's possible - ANY assistance would be greatly appreciated.
#3
Hi forum
This might be a little lengthy, but please bear with me. I currently have the following setup : 1 balance communicates via the serial port with a piece of software which resides on a virtual machine (WinXp) running in Virtualbox on awin7/win10 machine. The software sends very simple command characters to the balance (on the specific port) and the balance returns a weighing result which the software parses and uses in some further calculations.

This is the setup/flow. :
Software [sends balance Command] -> Balance [sends Result] -> Software [Parses and calculates]

However. I now need to intercept the resultstring from the balance, do some modifications and then pass the edited string to the software

Desired setup :
Software [Sends balance Command] -> Balance [sends Result] -> intercept and Modify Result -> Software [Parses and calculates] .

How can I go about this ? I've looked at the tutorials but seem to come up short. Any assistance would be greatly appreciated.