Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


bc_fred last won the day on April 6 2012

bc_fred had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

bc_fred's Achievements


Member (2/4)



  1. Hi: Brand new V350-J-TR6, straight out of the box, hotted up, a fresh install (yesterday) of Visilogic 9.8.31 on Windows 7 Pro. I went to the Start-up Display, added a piece of text and then tried to add a Numeric object and Visilogic crashed. The "UnHmPge2" message is "Run-time error '372': Failed to load control 'ActiveBar3 from ActBar3.ocx. Your version of 'Actbar3.ocx may be outdated. Make sure you are using the version of the control that was provided with your application". Searching shows that this was reported as a problem way back in 2008 on Linux. I DO have Unilogic installed as well. Please don't tell me that THAT might be a problem. If anyone has any ideas, I'd appreciate it. I'm literally dead in the water 15 minutes into a brand new project. Image attached of the error message. Thanks, Fred Mason Roberts Creek, BC Canada
  2. Hi: Application is sent to the support email. Thanks.
  3. The addresses are not in hex. I haven't tried to write to the output yet. The Inputs do not work. As explained, if I eliminate the output function, the comms stop working. Also, again, the Slave ID is incorrectly reported as 1 in the struct for the slave definition in the Modbus Master. As mentioned, ModScan64 correctly shows the Inputs from my PC with the addresses 10001 through 10008. I have edited my previous post to include (again) my latest screen captures.
  4. Ok, here's an update. The very first thing I did was to update my UniLogic to Version 1.13, Rev. 9 and to download the Firmware Update to the PLC. Following your instructions, I reset the Slave/unit ID to 255, and downloaded. The sessions began to run with 100% success, and the Status for the Slave in the struct was 1, for successful. However ... my jumpered Discrete Input (address 10001) does not show HI, nor does it change when I unjumper it. This is the value that IS showed correctly on the laptop using Modbus sniffer tool, ModScan64. I have two tags configured, IN1 for the Discrete Input, and OUT1 for the first Coil (*write*) output. If I remove IN1 (delete the tag), there is no change in Sessions/Succeeds. If I remove the OUT1 tag, the Sessions fail 100%. Plainly, the IN1 tag is not being polled. Also, when I look at the Struct for this Remote Slave, the Slave ID is still 1, even though the Slave ID in the Properties window is successfully changed to 255. I deleted and re-created the Remote Slave and the Slave ID in the Struct remained at 1, even though the properties window showed 255. I've attached a summary of screen captures showing these results. Your continued help on this is very much appreciated!
  5. Hi: Thanks for the ideas; I will check into them and get back to you when I get to the shop again. Much appreciated. We did do one test. At the request of the EtherTrak Tech Support, we installed ModScan64 and were able to successfully return Input Status values for the I/O card repeatedly. This was configured using Modbus TCP and the IP address of the unit and a slave/unit ID of 1. So, PC to I/O card works using the IP method via Ethernet.
  6. Guru: Thanks much for getting back to me/us. I have confirmed what you say, and that I am consistently getting Status 2 errors. See below/attached. We can ping the target unit (an EtherTrak2 I/O module with two Ethernet ports and support for Modbus TCP). I have captured all the config settings there and fired off a request that they confirm settings on their side. Apart from pinging from the Unistream, which works, what else can we do to see what is holding up the comms? I am going to go back and review the documentation on the Modbus configs on the Unistream end, but there is not much in the way of examples or details. Thanks
  7. Further to this topic, are there any sample apps for UniLogic involving Modbus TCP/IP? I am a V350 - CANbus - Visilogic veteran, and am trying to diagnose comms problems with a RedLion Ethertrak2 I/O module. the UniStream and the Ethertrak2 are both plugged into a switch, and I can ping the Ethertrak2 (with fixed IP) from the UniStream. However, cannot read any registers. Where does the struct containing the required system tag info appear when a socket/slave is connected? Do you have to do any initialization on start-up like we did/do on booting a Vision controller? Thanks
  8. Jonathan: I had this problem as well. I had worked in Visilogic on a 24" extended monitor turned vertically, then I went to another location and hooked up to a horizontal extended monitor. I thought I had a corrupted copy of Visilogic. It turned out that a dialog box was positioned off-screen at a location that Visilogic remembered from the previous session. I was using XP Pro and had hibernated the laptop for the location change. Have a look at the open windows in the taskbar. The one thats trapped offscreen can be moved by right-clicking on it in the taskbar and selecting "Move". You can then move that window using the cursor keys. --- Speaking of using Visilogic on a 24 inch monitor in vertical mode, it's wonderful to be able to see multiple rungs or all of a complicated one, as well as watchpoints and lots of addresses at once. How I wish it were possible to widen the ladder to full width!
  9. It was the Enable bit for the CANbus node, that MB that you set in the CANbus Configuration dialog that apparently enables the transmit side of the CANbus card out to the other nodes. TPDO messaging worked all along. One would assume that an Enable bit would control comms both ways, but that's not the case. The help files don't show the Enable bit in the illustrations of the CANbus Configuration window, and it doesn't seem to be mentioned anywhere. My bad, I've been burned by this before. I'm sure there's a use for this bit, but it's not obvious to me what that is. --- I'm thankful that we didn't have to upgrade to a newer version of VisiLogic. The Release Notes should be more explicit about changes and potential incompatibilites. Damian, thanks much for your help and suggestions. I have to say that the Unitronics forum is a great resource, and much more responsive and relevant than A-B or Wonderware!
  10. The PLCs on hand have all been received from the Canadian distributor recently. Not sure of the OS Version, but it's at least 3.4. We haven't had any trouble downloading from 8.6.2/3 to them, i.e. no complaints from the software.
  11. We're testing a CANopen network consisting of a V570 as Master and an IFM CR0403 PLC acting as a Slave. We are using VisiLogic 8.6.2, and because of the installed base, we are not planning to upgrade to anything newer. In Info-Mode, we can see the TPDO messages arrive, as well as our NMT Control and Status messages. We can set the Slave in and out of Operational Mode (although only using CANID == 0, ie. All, rather than == 2 which is the Slave CanID, strangely enough). But we are not able to get our single RPDO message to go. - Is there anything particular we have to do in Info-Mode to see RPDO messages? We're sending our RPDO message every 500 mSec. My understanding is that messaging is unsolicited, so we don't need any special setup at the other end to receive the message. When we first tested, the RPDO message briefly worked, and then stopped. We are going to go back and try to re-create what we did. We've stripped out everything except the CANbus programming to simplify testing. We tried with a second V570 and had no success. Since we don't see the RPDO in Info-Mode, we are assuming the problem is with the Master, not the Slave. The V570's are new. - Is there anything in the Firmware of the current 570's that would interfere with RPDO's programmed with Version 8.6.2? - Can we use the "Log to SD Card" feature of the CANbus sniffer with a new V570? Thanks Fred Mason
  12. Just my 2 cents' worth: I wouldn't use UniOPC to connect to the PLC. It was quite difficult to set up, and the documentation is sparse. It was also flaky and would stop working. Instead, I'd connect using Modbus and make the PLC a Modbus slave for that purpose. Although I haven't done that with Unitronics, the Modbus I/O servers are very reliable in the Wonderware world. InTouch is quite good as a front end. I've used it on many projects and it is quite versatile. If you're just starting out using InTouch, you might consider taking a course. Wonderware distributors regularly offer them and they're worth it. The alternative is slogging through the documentation, which, like much documentation, is written by those who already know what to do.
  13. Anthony: This is also brilliant. If Unitronics ever sees fit to put a procedural language in (and document it!), life will be sweet. Thanks to you both. Fred
  14. The function "RTC to ASCII" is potentially useful. It would be more useful if one could get rid of the "/" separator in the MM/DD string and the ":" separator in the hh:mm string. I can move RTC to ASCII into three consecutive MI's. I suppose I could then move ASCII to NUM. The documentation for ASCII to NUM says that you specify a Source Vector address, a Vector Length, and a Destination Vector. (there's also something called a Factor, but that's to do with decimals, so I'm guessing that stays at zero. If there are two ASCII characters per MI, then the ASCII data laid out is: ADDR CONTENT ---------------- MI x MM MI x+1 /D MI x+2 D What would be ideal would be to move this all to 5 consecutive Integers, say, MI Y0 through Y4, then grab Y3 and Y4 and then put them on Y2 and Y3. This would kill the ASCII code for "/". Then I could grab Y0 through Y3 and put them in an ASCII set, e.g. MI Z0 and MI Z1. This would all be irrelevant if I could go RTC to String and then just knock out character 3, but that option doesn't seem to exist. Am I completely off base? I want to make a filename that consists of MMDDhhmm.udt on the SD card. That way, every time we create a new .udt file, we can immediately see the date and time of file creation. But I can't do this if I can't strip out the separators, because we can't exceed 8 characters. Any ideas welcome. The examples and documentation don't cover this, in my experience. Fred Mason
  • Create New...