Configure SNAP SCM-232 serial communications from vb.net


#1

Long story short, I haven’t had any luck finding information about how to set up the serial port options (e.g. Baud Rate, Parity, etc.) of a serial module (SNAP SCM-232) through vb.net.

I downloaded the “PAC Serial Module” vb example, and sometimes it communicates and sometimes it doesn’t. The devices I am trying to communicate with have different communications settings than the standard settings of the opto module. I have to set up the port options through the Pac Manager (9.6) software before I connect via the PAC Serial Module vb project every time I turn off the opto rack, as they keep returning to their defaults. For the system I’m setting up, this needs to be able to happen in the background through the vb.net program. The operators of the system can’t be required to reconfigure the module through the Pac Manager software.

Can anybody provide example code or a link to some? Or let me know which documentation might contain the answers I’m looking for? I tried to look in a few of the manuals, but was not able to locate the proper information.

Not sure if the Forums is the most appropriate place for this, but here’s hoping it helps somebody else in the future with my same question.


#2

I cant help with the VB code side of things, but you have me wondering about configuring through PAC Manager, but then losing the settings on a power cycle… After you configure the serial module are you doing a ‘Save settings to flash’??
I have never had an issue of a serial module not coming up as configured after a power fail if the settings are saved to flash.

Just to go over the process.
In the Communications -> Serial modules menu, you set up the Port A and B the way you need.
Click “Apply” on this page.
Do this for as many serial modules you have, clicking Apply after each.
Then go back to ‘Status Write’ menu.
At the bottom of that menu, click on ‘Store configuration to flash’, then the ‘Send Command’ button.
The rack will then save and reboot.
The serial module settings should be as expected.


#3

Thanks.

I was, indeed, not saving the values to flash. They are now saved.

I’m still having other communications errors and a lot of not-reading, but I think that’s going to require more investigation on my end before I can have a meaningful discussion about what’s going on, or whether or not it’s related to any of the Opto hardware.


#4

Ok, well, one out of two issues solved… that’s progress.

In regard to the hit and miss issues… Is your VB code talking to memory map addresses?
Have you looked at the MMP tool kits we have?
We have a ton of customers using our stuff with their code to talk over the Ethernet interface… It is not an odd use case.
My point is, there are some resources around and while there may not be ‘serial module’ code samples, there are MMP samples, should be the same thing??

Disclaimer, I am not a VB programmer.


#5

Yup.

That’s where I got the “PAC Serial Module” example I’m currently using. I have also used the I/O module project from the MMP toolkit, and it has communicated flawlessly from the get-go. (I am also using I/O cards in the same project)


#6

Make sure that you are not over-filling the serial modules buffer, as they will silently drop anything that doesn’t fit. You should have 1000 byte sending buffer and a 1000 byte receiving buffer. Your application may need to calculate how long that it will take to transmit out of the serial module based on the baud rate and sleep an appropriate amount of time, unfortunately their is no way to check the amount of space left in the buffer - at least that I have found.