Pentair i-Link?
vining
X Member
Does anyone know if a Pentair i-Link (serial adapter) requires a null modem adapter to cross over pins 2/3 when connecting to the master's serial port.
Does anyone know if we could connect directly to the Pentair's com bus via RS485 and not use the i-Link adpater?
Does anyone know if we could connect directly to the Pentair's com bus via RS485 and not use the i-Link adpater?
Comments
-
Well I was back today and plugging the i-Link directly into the master's serial port didn't work, using a null modem adapter didn't work. I decided to connect it to a DB-9 break out adpater and wire it to the set screw connection for a com-2 in a slot of the NI-4100 and using just pins 2,3 & 5 didn't work. When reading the i-Link manual it says to use pins 1,4 & 6 also pins 7 & 8 which made no sense for a RS232 DB-9. So instead I connected pins 2,3,5,7,8 and it worked fine when wired to the correct matching pins 1-5 or 11-15 (depending on card slot port). I think 2 & 3 were straight though but I might have crossed them.
Disregarded i-Link pin out instructions:Note: (*) Pins 1, 4, and 6 connected. Pins 7 and 8 connected.
DB-9S
Pin Number*
Signal Name (DCE) Signal Direction
1 DCD (Data Carrier Detect) Input
2 RXD (Receive Data) Output
3 TXD (Transmit Data) Input
4 DTR (Data Terminal Ready) Input
5 SGND (Ground) Input/Output
6 DSR (Data Set Ready) Input
7 RTS (Request to Send) Output
8 CTS (Clear to Send) Output
9 RI (Ring Indicator) Input -
I have a site where I have two of these working without issue. Most others are still the old Compool. I'll see if I can find out how I wired it because I don't remember but I know I didn't have any trouble at all. Hopefully I have some documentation somewhere that spells it out. FYI I did not use the module but don't remember why either but if you want some code snippets let me know. I have pretty good feedback working as well. It is not in module format though and the way the Pentair Aux are programmed would need to match mine for it to make sense.
I recall you do have to purchase the over priced iLink though. I didn't want to run the risk of damaging the controller and there does not appear to be any other way to connect to the keypad bus. -
I have a site where I have two of these working without issue. Most others are still the old Compool. I'll see if I can find out how I wired it because I don't remember but I know I didn't have any trouble at all. Hopefully I have some documentation somewhere that spells it out. FYI I did not use the module but don't remember why either but if you want some code snippets let me know. I have pretty good feedback working as well. It is not in module format though and the way the Pentair Aux are programmed would need to match mine for it to make sense.
I recall you do have to purchase the over priced iLink though. I didn't want to run the risk of damaging the controller and there does not appear to be any other way to connect to the keypad bus.
I have it communicating now and maybe if I used the cable specified in the module It would have just worked. Seems I should have been able to just connect straight into the master as it work connecting directly into my PC.
I'm using the standard netlinx module and if I find it works well and does everything I need I'll just continue using it.
I might be possible just to connect to the RS485 bus but I too don't want to waste time or fry the system but it doesn't hurt to ask if anyone has tried. It could be just a 232 to 485 converter they're selling us. -
Connecting 1&4&6 and 7&8 is important for this device to work. Just short these on the device side.
I've always used the adapter, and never connected to the 485 bus, so I don't know if that would work. -
I have 2,3,5,7,8 connected to their matching counterparts on terminal 1-5 or 11-15 on the com2 card slot port and it works just fine with out doing anything else.Connecting 1&4&6 and 7&8 is important for this device to work. Just short these on the device side.
I've always used the adapter, and never connected to the 485 bus, so I don't know if that would work.
Maybe the note below from the i-Link doc is just them stating they've already shorted these pins together. At first I thought that meant they wanted me to connect to these pins but since it didn't make sense to do that I ignored it and went with my gut instinct which worked. Directly connecting to a DB-9 port on the master didn't nor did it work with a null modem adpater.Note: (*) Pins 1, 4, and 6 connected. Pins 7 and 8 connected. -
They are not connected. If you would have shorted 7&8 on the i-Link side, then standard 2-3-5 would have worked to your master.
-
I talked with Pentair TS yesterday and had a chance to inquire about the i-Link. The tech stated the i-link is needed and it is not just a protocol adapter it actually performs logicically operations. Supposedly according to the tech I talked with the i-Link receives and stores the values of the Pentair system and when you query the Pentair system it is the i-Link that responds from it's stored "map" values. When you send the system a command the i-Link receives and passes in on, possibly changes it with an internal driver so the Pentair system can understand it.
This had me baffled cuz I could query the system and recieve a correct respons but I couldn't issue commands, I would even tually receive a timeout error when trying to control the system. Given the explanation I received from the tech is quite possible my TX/RX lines are fine to the i-Link and my RX on the i-Link from the Pentair system is also god since I receive the correct value but my TX line to the Pentair from the i-Link might be bad or crossed. I had assumed since I was sending queries and received proper responces to the queries that comms had to be good but apparantely is wasn't that simple of an operation.
Mean while on another job the pool guys are telling me that I don't need an i-Link, that any 232-485 protocol adapter will work cuz that's what the Craptron guys use. Of course I never met a pool guy that knew what they were talking about and the tech did sound credable and it also makes sense that no one here as ever used the Pentair system directly via 485. Oy vey! -
I just had a look for you and there's no official module on the Cre$tron website which means whoever the Cr3stron guys are, they must have rolled it themselves.
-
The only things I've found are referneces to the a module by ControlWorks which specifies using the i-Link so I have no idea what the pool guy was talking about.I just had a look for you and there's no official module on the Cre$tron website which means whoever the Cr3stron guys are, they must have rolled it themselves.
I did find in a pool forum that some software guy connected to Pentair's Itellitouch system direct to the rs485 bus and reverse engineered their protocol to make it work. He said there is some benefit to doing that since there are some parts of the Pentair system like the intelliflo pumps that aren't accessable and whose values aren't available to the i-Link interface.
I checked the wiring on saturday and put a keypad on the wire running form the i-Link to the Pentair and it worked. I still query various states ok and when I try to control something I get a response but it always the current state and not the state I'm trying to set. I'll have to make another call to Pentair this week and see what they recommend trying. -
The pool forum I mentioned led me to this link (you have to join the forum to download it):
http://www.cocoontech.com/forums/index.php?app=downloads&showfile=173
It's a Canadian Security & Automation forum download page of the reverse engineered protocol. Unfortunately it will take some time for me to make sense of the files. Maybe I'll try this on the next pool but for now I'd be happy getting control of the system using the i-Link. -
The meat and potatoes is this:
9600,n,8,1 485 enabledThe protocol ============ The protocol uses short binary packages for information exchange. The packages have variable size. The minimum length is 8 bytes and the theoretical maximum is 6+256+2=264 bytes. The largest I have seen on a live Pentair bus is 37 bytes. The format is: <ldb> <sub> <dst> <src> <cfi> <len> [<data>] <ckh> <ckl> <lpb> - leading packet byte, 0xa5 <sub> - ? <dst> - destination address <src> - source address <cfi> - command/function/instruction <len> - size of data field (may be 0!) <data ...> <ckh> - most significant byte of checksum <ckl> - least significant byte of checksum The checksum is a 16 bit unsigned sum of all bytes in the message up to the checksum field. Most packages are preceded by a preamble of 1 or more 0xff bytes and a 0x00 0xff sequence. Every device on the bus has an address: 0x0f - is the broadcast address, it is used by the more sophisticated controllers as <dst> in their system status broadcasts most likely to keep queries for system status low. 0x1x - main controllers (IntelliComII, IntelliTouch, EasyTouch ...) 0x2x - remote controllers 0x6x - pumps, 0x60 is pump 1 Apart from unsolicited broadcasts, information exchange is done by a device A sending a message to device B and device B sending an answer to device A. Messages for simple exchanges only differ in the fact that <dst> and <src> are swapped. For example: C: A5 00 60 10 04 01 ff 02 19 P: A5 00 10 60 04 01 ff 02 19 is a request from the controller to the pump to turn panel control off, which enables it to send other commands to the pump. The pump confirms the action in the answer. The following sequence will turn panel control back on: C: A5 00 60 10 04 01 00 01 1A P: A5 00 10 60 04 01 00 01 1A The interpretation of a <cfi> depends on the destination of a message, meaning a <cfi> for one device might mean something else for another. And there are exceptions to this protocol. The IntelliChlor C40 puts messages on the bus that start with a 0x10 0x02 sequence, a data field, a single byte checksum and a 0x10 0x03 trailer sequence... The checksum is the unsigned sum over the data field + 18. There are many <cfi>s I have seen in data dumps, the interpretation of the datafield is somewhat cumbersome without knowing the system, so my focus is more on messages to and from a pump. However, here are some basics I found: A <cfi> to a controller seems to work like this: bits <76543210> 00xxxxxx - ? 01xxxxxx - ? 10xxxxxx - transfer(write) <cfi>&0x3f to controller controller acknowledges the write with <0x01><0x01><cfi> 11xxxxxx - request <cfi>&0x3f from controller the controller broadcasts it in response My pump is an IntelliFlow VS, it does follow instructions from an IntelliComII controller, provided the external programs are setup and enabled. It has to be in FILTER mode AND Started to make it go. Unlike other controllers, which take over full control of the pump, the IntelliComII grabs control only for a short interval of time, every 30 seconds, to communicate what external program to run. If all inputs are off it does not even do that after it has had a respone from the pump. The sequence for input 1 active is: C: A500 d=60 s=10 c=04 l=01 FF <0219> SETCTRL remote P: A500 d=10 s=60 c=04 l=01 FF <0219> CTRL is remote * C: A500 d=60 s=10 c=01 l=04 03210008 <0146> WRITE (0x0008) to 0x0321 P: A500 d=10 s=60 c=01 l=02 0008 <0120> VALIS (0x0008) C: A500 d=60 s=10 c=04 l=01 00 <011A> SETCTRL local P: A500 d=10 s=60 c=04 l=01 00 <011A> CTRL is local * C: A500 d=60 s=10 c=01 l=04 03210000 <013E> is a stop * C: A500 d=60 s=10 c=01 l=04 03210010 <014E> is program 2 * C: A500 d=60 s=10 c=01 l=04 03210018 <0156> is program 3 * C: A500 d=60 s=10 c=01 l=04 03210020 <015E> is program 4 If one quits repeating the sequence for about a minute the pump stops. The IntelliComII is not aware of the status of the pump and will keep repeating the sequence as long as an input is active. You can stop and start the pump with the START/STOP button on the control panel anytime, unless, of course, you hit the period when it is in remote control. More decoding of binary data from an IntelliTouch controlled system with a VS pump surfaced that there is a status report from the pump. It is only obtainable when the pump is in remote control. C: A500 d=60 s=10 c=07 l=00 <011C> SEND status P: A500 d=10 s=60 c=07 l=0f 0A0602024A08AC120000000A000F22 <028A> RUN 0a Started MOD 06 Feature 1 PMP 02 ? drive state PWR 024a 586 WATT RPM 08ac 2220 RPM GPM 12 18 GPM PPC 00 0 % b09 00 ? ERR 00 ok b11 0a ? TMR 00 0 MIN CLK 0f22 15:34 The above sequence is embedded within the cyclic exchange of data between the controller and the pump. The full cyclic sequence is: C: A500 d=60 s=10 c=04 l=01 FF <0219> SETCTRL remote P: A500 d=10 s=60 c=04 l=01 FF <0219> CTRL is remote C: A500 d=60 s=10 c=01 l=04 02E40012 <0212> WRITE (18) to 0x02e4 P: A500 d=10 s=60 c=01 l=02 0012 <012A> VALIS (18) C: A500 d=60 s=10 c=05 l=01 06 <0121> SETMOD 06 (Feature 1) P: A500 d=10 s=60 c=05 l=01 06 <0121> MOD is 06 C: A500 d=60 s=10 c=06 l=01 0A <0126> SETRUN 0a Started P: A500 d=10 s=60 c=06 l=01 0A <0126> RUN is 0a Started C: A500 d=60 s=10 c=07 l=00 <011C> SEND status P: A500 d=10 s=60 c=07 l=0f 0A0602024908B1120000000A000F22 <028E> The controller never releases the pump as long as it is in AUTO mode. The display on the pump shows "Display not active..." and the LEDs above FEATURE 1 and START/STOP are on. Experiments with my pump showed that one can change the GPM setpoint 0x02e4 on the fly, it follows it! If the controller releases the pump the cyclic sequence changes to: C: A500 d=60 s=10 c=04 l=01 00 <011A> SETCTRL local P: A500 d=10 s=60 c=04 l=01 00 <011A> CTRL is local It is important for any serious controller implementation to know when a pump runs into trouble and the Pentair IntelliFlow VS is fully capable of doing that! -
Yeah I saw that but that's nothing I want to get into now. I'll save that for another day when I get bored, maybe.
-
Yeah I saw that but that's nothing I want to get into now.
Yeah, I agree, I have another side project I am working on first, but I would love to come back to this, you get a much higher level of control! -
Pentair Versus Jandy
Aside from the little serial line reset-issue on the Jandy we have had pretty good success with them, but a new client is asking us to look at using Pentair (we avoided them 5 years ago); I had heard that Pentair is a bit troublesome; can you guys comment on how good the Pentair is compared to the Jandy?
Thanks! -
roognation wrote: »Aside from the little serial line reset-issue on the Jandy we have had pretty good success with them, but a new client is asking us to look at using Pentair (we avoided them 5 years ago); I had heard that Pentair is a bit troublesome; can you guys comment on how good the Pentair is compared to the Jandy?
Bump this up to the top... -
I've got it working on a job, though I couldn't get the AMX module to ever work. Like Vining, I could never make it happing connecting the iLink directly to the master. I ultimately ended up using a Aaxeon serial to IP server I had laying around. That seemed to work perfect. I wrote my lil' module using the iLink protocol in their manual; works great & responds very quickly. Surprisingly quick for 485...
-
Good news, thanks for the update. Any lockups or wonkiness?
I'll keep an open mind towards Pentair in the future. -
We've deployed probably a dozen of the Pentair i9 series... wired direct serial, we rolled our own drivers. No issues other than several have had the wire go bad to the outdoor areas. Can't blame that on the adapter.
-
My initial problems were caused by a bad iLink and onced it was replaced comms were fine directly to the master. I still have some issue but those are because the pool guys are idiots and programmed their system wrong and they just learned from Pentair TS that another temp sensor is needed before the heater will respond to commands.
-
John and vining, thanks for the response, very helpful. If we get one, I will keep Pentair on a short-leash until we have confidence in the pool-contractor and their programming (oh, it WILL be hammered).
-
Oh the pool guys, such wacky scamps they can be. One installation with a Pentair, they bypassed part of the control to be able to run the heater and pumps somehow on insufficient power, so you couldn't both heat and run the high pump. Then the customer was mad at us because you can't get a water temp without running the pump (this because the sensor isn't in the pool, it's in the pump, and unless the water is running, you don't have pool temperature water in the pump). Oh my.
-
You pretty much have to ignore pool temp FB unless the pump is running. If i recall the pool equipment will run the pump every 30 mins in order to read the water temp and heat if necassary if heating is enabled.
-
You don't have to ignore it, the Pentair will not GIVE you temp until the pump has run for a moment. You get nada.
-
I'm pretty sure it will only judge a heating call need after the pump has run for a minute or two but still sends you what it reads off the sensor. If the pump isn't running the strap on temp sensor still sends temp as it slowly decreases to the ambient air temp since when the pump isn't running you're just sensing stagnant water in a pipe at the pool equipment. I know on the system i just did when the pumped stopped the pool water temp received from the system would eventualy equal the air temp.You don't have to ignore it, the Pentair will not GIVE you temp until the pump has run for a moment. You get nada. -
After giving it some thought maybe i'm seeing these pool temp values when the pump isn't running because i query for the current temps. I also have unsolicated fb enabled so maybe i should re-examine my polling needs.
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums