Remote Site Locations

Hey There.

I have the following problem. We have a client where we use a R1 controller in the Cannery Plant to monitor their energy and line counts etc.
The thing is now their corporate network IP Range is full so they moved us into another subnet.

Theirs being 192.168.33. and ours is 192.168.30. Our server has a duel IP adress for those IP Ranges. And before we did this I changed the R1 controller IP’s for both ports into those 2 ranges.

But our side is working ok and all my devices and PC’s does what it should but their corporate pc’s in the other IP Range can’t see the controller. It looks like I created a loop so I unplugged port 2 which is 192.168.33 . So my question is what is the best way to connect 2 different subnets. We had a meeting with their IT department and they setup the managed switches to link our subnets. But everytime there is a power failure their switches closes the port. And it takes days for them to respond and fix it.

And then on their boats that go out to sea weekly I have softpac running on them that monitors the cold rooms and we linked the boats wirelessly to the plant so as soon they are in range they will display at my Plant server. So is there a function which I could use to check and establish comms with the boats as soon as they are in range. Because now as soon as the comms drops away they dont link automaticaly to our R1.

So to sum this up what I need is to:
Link 2 different subnets
Link my remote softpac controllers to my R1
And then then open the boats trend data with the display which is running on our server. And move the trend data files from the time which the boats was out of range to our server.


Wow. What a lot of questions. I think you need to contact an Opto22 specialist or support centre in your area as these issues are not trivial and I doubt they are going to be resolved in a forum.

While obviously not a complete answer, maybe the following information will help you at least get safely to port. :wink:

  1. As you have already realised ethernet does not allow two paths to an IP address. While PAC-R1 controllers have two Ethernet ports, only one can include the configuration of a router gateway or else the controller does not know which port it needs to send the data out of to reach the IP address. But you can introduce a router on on of its network connections and a network bridge on the other, which can automatically converts IP’s from one subnet to another subnet.

I am sure that their IT department knows all about this, and if they don’t, then they should do! Far too often the addition of PAC’s on an IT network is met with the same distrust from IT professionals as the apes in “Stanley Kubrick’s 2001: A Space Odyssey (1968)” discovering the monolith. (Or was it really an iPhone5 all the time? :rolleyes:)

  1. You cannot include a softpac controller project as part of your R1 project, but you can transfer data between them controllers using the scratchpad data area that is supported on the softpac control engine. Check the manual for all of the available scratch pad commands.

  2. It is possible to check for the existence of an IP address within a controller (I’m sure [B]OptoMary[/B] could write you an example with her eyes closed, before lunchtime), but it may be easier to use some external software and then externally write to an scatchpad integer via modbusTCP to tell the R1 controller what softpac controllers are online and offline, to avoid aimlessly polling connections that are “all at sea”.

  3. I do not think that there is a way of handling your sporadic trending data connectivity directly in PACDisplay. You could write some external software to consolidate and rewrite the historical data back into a centralized PAC Display ASCII file format, but once again this is not for beginners. Its current historical collection is a scanner based polling that either finds the data or doesn’t. There is no direct merge file function and less still automatically. I would suggest storing the data in ASCII files on the hard-disk of the softpac controller PC, and then FTP the data later it to a common database for consolidation. There are also some rumours of direct ODBC database logging functionality in the upcoming PAC Display 9.4 release, so maybe you should leave this issue till last on your list of problems.

I am presuming that the boats are outside of GPRS range and therefore GPRS/3G wireless routers are out of the question, but I assume that fishing boats now have satellite communications on board as standard. Your data traffic is next to nothing on this network. This would resolve most of your problems. (Assuming the boat has power, and if not I guess they have more serious problems)

BTW. Why not sell the customer’s IT department some UPS systems for their routers and use a PAC to monitor them for power interruptions, consumption, overloading, line quality and even remotely bypass and reboot the switches. They can even see this on their smartphones with [I][B]groov[/B][/I] and respond to infrastructure problems in seconds instead of days. You cannot expect to design a network based solution when there is no network.


Networking is both fun and hard work.
Here are some resources that can guide you.

PAC Manager has a solid chapter on assigning network addresses to both Ethernet ports;

Likewise the PAC S Series Controller Users Guide has a good section on laying out networks and using both ports (applies equally to PAC R controllers);

The PAC System Specification Guide also has as chapter on Ethernet configurations;

Lastly we have an entire doc on networking Opto 22 products;

Bottom line, as you know, you can assign a different address to each Ethernet port on our R and S series controllers, the only proviso is that they MUST be on different subnets.
After that, you are at the mercy of the network admins.
Lots of customers use the two ports, its pretty common, its not hard, it just requires clear diagrams and communications with the network guys so everyone knows whats needed.
George has spot on help with the advice that you can only have one gateway configured.

The ship to shore stuff sounds interesting.
Not sure there is enough information to hit it, but lets take a swing…

I’m assuming that along with SoftPAC on the ship, you also have PAC Display running because you say that you want the ship trend data to show up on the shore PAC Display when it gets back to the dock.
In this case, I would install DropBox on the ship PC and set the sync folder to be the ships PAC Display trend directory (PAC Display config can set where the trend files will be saved).
Each ship should have a suitably named directory (different for each ship) so that the trend files do not get mashed on the shore PAC Display.
Once each ship gets back to doc, DropBox will sync the trend files and they will show up as history files on your shore PAC Display.

If you want to be notified when the ship gets back, I would use the I/O enabler chart.
Its included with your instillation of PAC Project on your hard drive (or you can download it from the ‘Samples and Freeware’ section of the website; )

As it stands, it inserts a message in the R1 error queue, I would tweak this part of the code and not put it there, I would rather make a variable that pops up a message on the shore PAC Display, or have the R1 controller send an email or text… what ever notification works for you.
(Hint, set the ship SoftPAC as a ‘Generic MMP device’ in the ‘I/O’ tree off the R1 so it can poll each ships SoftPAC controller as if its I/O).

If I misunderstand and you don’t have PAC Display running on the ship, just SoftPAC, then you must be logging the temperature in a local file.
You need to FTP that file from the ship PC to the shore PC when it gets back.
You could add the File FTP example (also on your hard drive - or download from here; )
This could be linked in with the I/O enabler chart.
Or, you could have a batch file on the windows PC to FTP the data over (using something like Filezilla) when it connects to the dock WiFi network.
In this case, you will need to either store the data on the ship in a format that PAC Display can read, or use another bit of software to read the data file (something like Google Docs or Excel).

Hopefully some others chime in with some ideas of how all this might work for them.

None, the less, I think between what George pointed out and some crazy brain storming ideas here, you can take another look at things.



hey guys

Thanks for your feedback. Okay here is what I have working all ready, I use scratchpad to get all the readings from each boat to my R1 on shore. The reason I do this is to notify the necessary departments by SMS and e-mail that the fish is at the rite temperature because they may only offload it at -1 Degrees C. And the displays that run on the boats are completely independent so no user interaction is required, so if the power fails its starts by itself etc. So its basically a NANO PC attached back to a LCD screen inside a Industrial Steel enclosure running softpac and pac display. And then I also run SQL Database with Opto Data link which is also linked to my server onshore.

The wireless network we use has an effective range of up to 2km directional because the boats can only enter the harbor 1 way. That is why I want to know that as soon as my R1 can see 1 of the boats is in range it sends a SMS and e-mail to the necessary departments so they can get ready. Because now what happens is the guys on the boats doesn’t let anybody know that they are on the way or almost at shore, which is why I am implementing this, that there wouldn’t be this human interaction so everything happens automatically.

Then I also setup my server that each boats hard drive is synced to the server so I can access the files later if the boats were at sea. At this stage everything is working as it should except for my notifications by SMS and e-mail. And then of coarse the pac displays. The boats run a different display that is running on my server. I can present the data with my SQL database but it would be better to do it with Pac Display because everybody on site uses it. I know I can launch external programs and urls with pac display and maybe it would be the way to go or the clients just have to run multiple displays. Which I can maybe setup that boats are the primary scanners and the clients onshore just view the data and not trend it themselves. And sync the rite trend files in the appropriate folders on the server.

I started trying out OptoOPC and it works on networks that I setup myself but is a hassle on sites to get going that other company’s did the network. It usually takes us a week just to get 10 ip’s for instance that we can use. Which should only take 5 min’s!

I will try the I/O enabler chart. I did make almost the same which i send a I/O unit Ready? command and then when it is to enble its comms but I got errors which said no data received or can’t enable I/O Unit something that line.

And as far for the GROOV. Can’t wait to get my hands on 1 I only played with the software trail 1. And I am in the process to supply most of my sites with 1. I am actually forcing them to work it into their budgets. So there is light at the end of the tunnel.

And I really hope Pac Project 9.4 has this new feature and maybe more!

So now I told how the scenario is so you understand it which you do already.

Thanks again guys and keep up the good work.


hey guys

Just want to give you update. The IO Enabler strategy works great thanks. I tried also something similar the first time but yours got it done really well. I tested my system today with no problems. Funny thing is I was still busy programming on our server when I started getting SMS alarms that the ships are out of range. And I thought it was a problem in my programming because nobody let me know the ships are going to sea today. It would have been tomorrow but had quite a lough, my first thought was of coarse that my wireless network went down. but anyway thanks for your help and support and keep up the awesum work that you are doing.