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.


Messages - richard2511

Pages: [1]
1
Technical support / Re:485 communication
« on: March 24, 2009, 02:35:47 PM »
I may think there may be some further comments regarding this topic, as follows:

- RS485 is supposed to be a two wire network, which isn't exactly true. Ground potential differences between connected devices may cause a lot of trouble. Both devices having different power supplies will do for this situation quite fast. Line termination and polarization, as already suggested, may not always help, as introduced potentials may be higher than the threshold potentials defined by the line transceivers. Best solution I found was running a third wire to level ground potentials of connected devices, and this shouldn't be using some eventual shielding available on the twisted pair, as this layout may produce so called ground loops, and remedy could be worse than illness. Having a third wire, may not be the only issue to solve a ground potential problem, and some depends on how the power supply layout is done. Best way to have no problems is having just one ground potential reference point and converging all shielding and third (controller ground) wires tied there, and giving the remote devices no local ground reference (difficult some times ...), or having opto coupled and more expensive 485-232 converters.

- From your writing I understand you used no FCS and so called wildcard FCS on commands you tested. I found this will not allways work reliably, probably for the multiprotocol capabilites TriLogi controllers have. Doing the real thing, to say calculate the FCS and add it to the string you are sending to your t100 will perhaps show something different and is in any case a good practice for reliability on results, even if you don't FCS check what is coming from the controller, later. In any case, something else you may try, is to copy the status of your inputs or outputs into a memory position with a function called by one of the timing flags available at the Special Bits area, and then read it with an RVD command. The direct input and output communication commands may behave quite particular under certain program layout conditions and responding to the fact that answering the command coming from your PC means an interrupt and some timing problem to solve by the controller. You may also give the SETPROTOCOL statement a chance to prevent your controller from understanding something wrong, to say, eventually limit your experiments to just one communication protocol.

- The last issue on this problem may be timing, as not all 485-232 adapters have some (smart ?) way to control this, and depend on the control lines (RTS, CTS, etc.), and not just the Rx and Tx signals coming from your PC. Besides, some strange interpretation on RS232 standards introduced by some component and PC accessory makers are doing some more in this sense. Posts at this forum regarding USB adapters tell lots about. I may most warmly recommend the suggestion, made by Support, earlier, on using the TriLogi's Auto485 adapter to solve problems in this sense. The adjustable timing feature (potentiometer) it has, while in Auto mode, may solve most problems you may find regarding timing issues on RS485, as long as packets coming and going are quite similar sized in length. In any case and if these packets may have quite different sizes, fixed timing may be problematic and other solutions, involving hardware handshake, and running out of the scope of this post, should be used.

Final note: do not try to communicate -and- monitor your controller over the same line and at same time ... nothing prevents from doing this, and you may think your pc and t100 have run into some higher state of mind on an overdose of electrons.
 :)

2
Technical support / Re:how to read Counter value in dcusF
« on: July 20, 2007, 01:39:55 PM »
you are reading set value  ::) Use ctrPV[]


3
Technical support / Re: (Warning: No Response from PLC !)
« on: July 20, 2007, 01:14:04 PM »
You are probably shorting the -12 volt output without being aware. 0 volt from the power supply is connected to ground. Ground line to your pc plus ground line in your RS232 cable will do the rest. The -12 regulator in your power supply may be a little hot ...

4
General Discussions / Re:Vc++ help on plc program.. pls
« on: July 18, 2007, 09:34:30 PM »
have a look at http://freemodbus.berlios.de/index.php?idx=34.
It is for modbus protocol but you may get some ideas on how to do the TCP/IP thing. It is actually written in classic c (some concepts a little different from vc++). Regards.

5
General Discussions / Re:newbie?
« on: July 18, 2007, 09:20:17 PM »
Thermcouples need signal conditioning and A/D conversion to be further evaluated at digital level. No <100 model has A/D converters on board. More expensive models have, but still no signal conditioning or cold junction compensation. A/D's offered by Tri plus any <100 model will do but the A/D's range 200-300. Regards.

6
General Discussions / Re:Measuring temperature
« on: July 18, 2007, 09:08:25 PM »
Regular and even cheap J or K type thermocouple will do fine. ICP A/D converters (I-7018) and any controller model handling RS485, offered by Tri will do the rest. Code examples for the converters are available on the web site and controller manuals. The rest is simple Basic. Logging to a PC may require some more esoteric Java, C++ or VB knowledge. If you just need to measure and nothing to control, an I-7018 plus Auto 485 is all you need to send the values to a PC through any RS232 port there. Premises for what you need on the computer are the same, just some changes on what comes and goes to the A/D, very well described in the manual.
Thermocouples may become expensive if you have long runs between measuring point and the A/D. If so, I would suggest some component type PT100 (KTY81 from Phillips) or other temperature sensor like LM35 or LM335 from National plus some electronics described in their application notes. LM35 is perhaps the best choice to build a 2 wire sensor with little additional components, needing no calibration and giving a 10 mV per degree C output. The I-7018 will be a good choice for same and may read up to 8 of these sensors.

7
Technical support / Re:NETCMD$ TIMING?
« on: July 18, 2007, 08:14:51 PM »
This post has someting to do with the thread:
I have a T100MX-4832 with an MDS 100 Display and two ICP I-7018 A/D Converters hooked to the T100MX COMM 3 port. Everyting goes nice and neat till I try to connect the whole jig to a PC through an Auto 485 converter ... Not just while the converter is connected to the 485 line but as soon as the converter gets plugged into the PC and nothing happening on the RS232 there, just the disabled port ! The T100MX becomes incredibly sloooow, monitoring with TL Server and TriLogi through COMM 1, even with another PC, also, besides MDS 100 display comes up showing some garbled, misplaced or unwanted texts. Data coming from the A/D's seems to be unaffected.
Forcing the RS232 on the PC into a known state and silencing any eventual transmission through the port doesn't change this behaviour. Poking around with the c++ thing I composed to do so and bringing the receiver to a text window showed a lot of garbage in between the display messages, but quite clean coming and going to the A/D's. Display and A/D routines are based on NETCMD$, A/D's are interrogated at a per second rate and display is updated 5 times slower. So ... question: what may be happening here ?
Another question: some code or library for native TriLogi protocol in C++ to be found somewhere ? I am trying to build a display and logger for the application with the setup described here. The application monitors 14 temperatures and controls heating and ventilating under time controlled conditions.
Best regards, and thank you for your support.

Pages: [1]