01-24-2013 11:11 AM
I am trying to use DASYLab v12 to communicate with a Newport z-series device. I am using the IComm module and have configured the IP and port section to match those listed on my z-series. When I check the connection using the IComm monitor no information appears in the lower portion of the screen.
I have seen a previous post regarding the set up of Newport devices but there is some conflicting information. The instructions from the previous post suggest using between 2-5 TCP Connections and to set the server to continue. The conflict is Newport said to set the TCP Connections to 0 and my device does not provide me the ability to set the server type.
I have tried setting the TCP Connections to everything from 0-5 with no success. I know the z-series device is transmitting data because I can use the Newport logging software to record the data.
Any thoughts or help would be much appreciated.
01-24-2013 11:18 AM
It's likely that they have modified the firmware for your device from the ones that I tested with a few years ago.
You're going to have to talk to Newport directly to get assistance, since I only have access to older devices.
They can always call me directly and we can figure it out.
01-24-2013 11:37 AM
Looking at one of the zSeries manuals, this is the relevant section.
You probably need to configure it for a data request command, if it doesn't offer continuous mode.
The appendix F in the book I'm looking at has the commands, for example.
ERDG Group ID: 00A - 00D, ALL Get sensor readings of a group / Get readings for all
*5 groups of sensors group B, ERDG00B
4.5 HTTPget Program
The HTTPget software is used to send a single HTTP or TCP request to a Coordinator.
In contrast, the telnet or Hyperterminal programs allow a continuous connection with
multiple requests to be sent to the Coordinator.
Generally HTTPget is used for simply programming an IP address to the Coordinator or
for quickly obtaining a reading from a device.
The Coordinator must be configured from the configuration web page so that the "TCP
Connections" indicates any number between 1 and 5. Make sure that the Port Field
number indicates 2000.
Whenever Terminal Server service (using Port 2000 by default) is required, the # of
connections must be set to a value from 1 to 5. The Terminal Server mode is the
recommended mode for the most reliable connection when operating with NEWPORT
software or with other programs supporting TCP/IP communications. The Port 2000
access can be used with NEWPORT software and may be needed with some zSeries
wireless system products when you need to view readings from the web page while
simultaneously collecting data through TCP/IP communications.
01-24-2013 01:07 PM
Thanks for following up; I saw your response after having found the same information. Its good to know I was on the right track.
So now I have been able to get DASYLab to communicate with the sensor my next task is to parse the data.
I am getting the following string:
1 74 20 24.3 C 24.3 C <CR><LF>
<CR><LF>
1 tells me the transmitter/sensor number
74 is the sequence number for the reading and is a 2-3 digit number
20 tells me the type of sensor
24.3 C is the temperature and measurement unit. This appears twice because I have 2 thermocouples attached to one transmitter. The temperatures can be from 0.0 to 150.0
My question is how to break this into two channels; one for each thermocouple.
01-24-2013 01:37 PM
1 74 20 24.3 C 24.3 C <CR><LF>
<CR><LF>
1 tells me the transmitter/sensor number
74 is the sequence number for the reading and is a 2-3 digit number
20 tells me the type of sensor
24.3 C is the temperature and measurement unit
I would do it as multiple channels, and then ignore the channels that you're not using
Channel 0: a\x20
Channel 1: a\x20
Channel 2: a\x20
Channel 3: a\x20
Channel 4: $1\x20
Channel 5: a\x20
Channel 6: $2\x20\r\n
the values are delimited by spaces, the line by the <CR> <LF>. You cannot ignore any character.
Channels 0 and 1 will act as a "check" for you. You can ignore them, or look at channel 1 to verify that you're not skipping numbers in the sequence.
Ignore Channel 2.
Channel 3 is a data value
Channel 4 is a text string, so I stored it in a Global String. You could just skip it. The output on Channel 4 will not have any data.
Channel 5 is a data value
Channel 6 is a text string, delimited by the end of line.
Let me know if this works, and if you like, post the finished worksheet so that I can add a section to my technical note.
01-24-2013 04:01 PM
That Work great, thanks.
So now the problem is that when I try to get the module to repeat the process I just get 0.00 as the value for the channels.
I have the following settings:
Data request enabled, 10s interval, repeat request/reconnect yes, header 0, output measurement values of all character checked.
01-24-2013 04:11 PM
That suggests that not all characters are being processed.
Can you post a screen shot of the monitor with two or more responses... show both the ASCII and HEX modes, so that I can count characters.
01-24-2013 04:42 PM
I think I may have figured it out. I needed to modify the measurement data request field in the module from the default \r to the command for the external device across all of the channels.
I have attached the module for you if you are interested. If there is a better means to set up the connection I wouldlike to hear your thoughts. Thanks for the help with parsing the data. Are there other resources that explain how to use the commands/terms you gave me?
01-25-2013 07:51 AM
Great. Thanks for the update.
Resources? Technical notes at www.mccdaq.com, and, of course, the online Help.
01-25-2013 07:56 AM
I think that you only need the measurement request in channel 0. the others should be blank.