TCP Driver - Dusttrak device Telnet works, but I can't read in Ignition

I’m trying to add a dust monitoring system to ignition, The device supports TCP over port 3602. I have the device added, with 1/1 Connected.

Using telnet I have to issue command ‘rmmeas’ this then returns a string ‘9581379,0.005,’ The value I want to capture is 0.005 for a tag in ignition.

I noticed there is a writable and message. I wrote rmmeas to the writeable and can read that back, but can not return the sensor value from the end device. I always receive ‘’ or null. I’ve tried setting up comma delimitation and set the return amount to 2, and then 3.

Any suggestions? How do I pool the command at a specific rate? How do I read the value back into Ignition?

image
image
image


image

Thanks!

Can you get a message back at all? Get rid of the comma delimitation and return amount. Get the raw value back as you get over putty. Then use an expression tag to capture everything to the right of the comma.

Make a bool expression tag that executes at your desired rate that switches between true and false. Then use that to trigger your write.

That’s how I do it.

I have removed the extra settings: image

How do I send ‘rmmeas’ and read back what is returned from the sensor?

So far I have not been able to read the sensor values in Ignition. I can write to the ‘writable’, but it just acts as a place holder.

If I try to write to the message I get a ‘Write failed: Bad’

image
image

You need to make an OPC tag. The OPC path parameter should be those OPC items.

When you make a new tag. You can browse thru the OPC server and drill down and find those items. Or type them in.

Once you make a tag for the message and one for writeable.

Try sending your command by typing it in the value of the writeable tag. Through the designer and look for anything returned in the message tag.

You cannot write to the value of the message tag.

Thank you!

I had to add the terminating character, enable read/write, and it came through!

Do you have an example of how I can write on a timer based event? You mentioned an expression, but how do I cause the writeable to ‘post’ so to speak?

image

create a expression tag. Execution rate set to some rate. DateTime data type. make the expression now()

Then set a tag event script and write the value too it. This is a quick rough example.

Got it all setup, works like a charm. Thank you for your help.

Sweet dude. A heads head up. You should probably be using system.tag.writeBlocking to do your writes.