Jump to content

Ziwi

Members
  • Posts

    32
  • Joined

  • Last visited

Everything posted by Ziwi

  1. Well all ready to load up my project, but at 260kb it wont fit in my attachments. Perhaps I could get upgraded to super cool user and get a massive 1mb attachment limit?!! I could delete stuff, but that would make the posts relevant to that obsolete? Anyway Tim before you get terribly excited, I did end up using the FHPP protocol instead of 402, mainly because it is easier. The code will look very familiar to you as it is your code!! There are only a few PDO's going back and forth. But I did test 402 and was able to hold comms between the Unitronics and the entire EDS range of 402 using SDO. I don't think there is any reason why it won't work. I had simulation software for the FHPP that I used to control the servo whilst logging PDO traffic with Canopen magic pro. Then it was just a case of deciphering with manuals etc, and getting the PLC to do the same. It wasn't too painful. FHPP looked to have far fewer commands etc. I think the reason 402 isn't supported officially is that there are a few enable/start/run/stop routine's required (or suggested). For Unitronics to claim compliance they would need a custom Function Block. But there is no reason why this can't all be programmed in ladder. Unfortunately I dont have the time to do this at the moment, but wouldn't hesitate to specify a Unitronics to 402 device in the future.
  2. Hi Ofir Yes, I'll post an example just as soon as I've finished de-bugging. It's mostly done.
  3. Well it seems my dilemna is solved. The error seen happens when the eds file doesn't match the device. (Thanks to www.esacademy.com support) Between config, firmware and several resets I managed to get DS402 configured and communicating with the PLC. Festo also uses a custom (alternative) protocol called FHPP. Festo tech support New Zealand helped me get FHPP working. Basically "Communication Profile" objects are mapped according to the EDS, but "Manufacturer Specific" objects don't appear to be mapped as per EDS. Fortunately the relevant PDO's are pre-mapped in the drive, and Unitronics Tx's and Rx's these PDO's without problem. All of this de-bugging would not have been possible without software such as CanOpen Magic Pro. On the plus side it seems that Unitronics can communicate with DS402 and FHPP devices.
  4. Hi Team. I'm working through my first CanOpen project involving a safety controller and 4 drive's. 3 drive's are on DS402. I can read and write SDO's until I get to the "manufacturer profile area" at which stage I get "Object does not exist in the object dictionary" (Logged using canopen magic pro) Is this a case of Uni not supporting DS402? Incidentally the canopen magic pro can't access these SDO's either. Some of the DS301 devices are working nicely, PDO's etc. Many thanks to Tim Moulder and Fantasia for their examples.
  5. Ziwi

    CanOpen Basics

    Hi Tim I'm finally working on my first CanOPEN project comprising of a V1040, 1 x Weiss (Acopos) Rotary Servo, 3 x Festo Servo's and 1 x Sick Flexisoft safety controller. I've bought (on your recomendation) the CanOpen Magic Pro software, waiting for the USB adapter to clear customs! A question though. The Festo servo's are DSP402 which appears to be an add on to DS301? From looking at the EDS file it seems there are standard 402 index's such as 6041 -Statusword. I am planning to map relevant 402 index's to PDO's. Do you foresee any problems? Thank-you. Your help file has been extremely useful.
  6. Thanks Ofir. I've seen that comparison, doesn't list canopen though?? Anyway will likely go with Can.
  7. Hi All. I am familiar with Modbus RTU having done a Unitronics to VSD project, and am familiar with CanOPEN having a few systems around the factory. I am doing a new project which is leading towards CanOPEN as it is the most common denominator, although it does scare me a little. The fieldbus will consist of 4 servo drives and a safety controller (not for safety comms) Basically was trying to get an understanding of comparisons such as: a- Speed b- Stability c- Configuration ease. Modbus does seem to be a little slow - in my project using PHR/RHR (3) due to to non contiguous registers, I get R/Write times of 43 ms, adding up to 2 seconds to update 50 registers. Thanks
  8. http://www.unitronics.com/Data/Uploads/V120/V120-22-UN2.pdf Page 2, thermocouple's, Note 1 describes the wiring. Jumper settings are laid out on page 4. In Visilogic, goto Hardware Configuration, select V120-22 and under snap in select UN2. On the Analog Inputs tab you will have No. 0 & 1. Under type, select T/C type J or K or whichever you are using. Then attach it to a variable MI123, name it something. You can also select a filter to smooth out ripple in the readings.
  9. I remember getting caught by this "trap". Maybe it's Unitronics way of getting newbie's to understand positive transition contacts! I like the idea Damian.
  10. Not much happens over the weekend here, and you're right about the tone of your first post! To answer some of your questions, which are in help, but to sumarise: Bits are boolean operators, ie on or off, 1 or 0. Integers are numeric values -32768 to +32767 System Bits and Integers are pre-defined, such as SB3 - I second pulse, SI32 - Current date. Memory bits and integers are freely definable by the programmer. Here is a screenshot of the simple scenario you spoke of. In hardware config, link the thermocouple input to MI1. Link MI2 and 3 to setpoints on the HMI.
  11. Hi Janne, I know this is a few months old, but there is a better way of achieving the above without creating duplicate screens. SB 39 - See screenshot.
  12. I've had success in using MB3 in the following attachment to reset ethernet. Useful when you have just changed parameters. Connection drops when you toggle MB3, but seeing as you have used a -|P|- contact, you can just reconnect. If you use a -| |- contact you disable ethernet!
  13. Good tip, this works, but how are the screen numbers assigned? I watched SI252 while I flicked through the screens, and these are my screen numbers: 2,43,49,57,93,126,130,154. Seems pretty random, how are these numbers assigned or edited?
  14. Ziwi

    CanOpen Basics

    Thanks TM Very useful reference. To prove I read it, Pg 6, 2nd last paragraph I think MB123 should be 128. Regards Ziwi.
  15. Thanks TM Like I said in my PM's this has been a great help. For the benefit of others this is also the identical comm's structure to the Beckhoff BK5120 I/O module's. CanOpen Documentation here: http://www.tritek.co.../io/bk51x0e.pdf Question: NMT status Integer (MI125 in your example) Where do I find a list of stati? (Plural of status!) I have looked through Uni and CanOpen documentation, but missed it. Ziwi
  16. No doubt talking to the drives is possible, but the rest of the PLC programming is going to be huge! I do a bit of programming on a 6 axis, and the "world" move feature always amazes me. You can perform RX and RY wrist movements and the tool tip stays in exactly the same spot! I get a headache just thinking about the trigonometry going on behind the scenes. Just doing a simple straight line move involves all 6 servo's... Good luck- I would pay good money to see the code!
  17. Hi Teckart, any chance of posting the canopen component of your application as an example? It is surprising that Unitronics goes to all the trouble of developing the likes of CanOpen, Modbus UniEDS etc and then neglects to include an example of anything other than Uni to Uni. Surely the time to knock out a few examples would be miniscule in the big picture? Apologies in advance if I have missed them. I only really got my head around Modbus after seeing some forum members applications.
  18. I second the idea of having narrow I/O modules, as in the cigarette pack size from schneider, beckhoff and others. These are approx 4 x narrower than Uni ones. Our electrician can't figure out why I insist on Unitronics for this reason, and he has a point. When you look at the PCB's inside a Unitronics module it seems relatively easy to stand them up on end? I think this "simple" factor could lose Unitronics sales over other vendors.
  19. Hi Team After sifting through all of the examples and esp some here posted by Ash Neilson and others, I have come up with something that fits my requirements. (Example based on Ash's Step Logic) I have had it working for a week now, and ironed out most of the bugs. It is not the most elegant bit of code, but maybe of use to some new players. Basically I have 3 SEW LTP motor drives. I am interested in 17 registers - non contiguous. Randomly from 0 -181. So I devised a datatable with Slave ID, Register #, Read Value, Write Value and if the register is writeable. A pointer increments after each read/write operation and then loads up the next values for the next operation. if writeable it write's, if not it reads, and it keeps looping. I did have intentions of assigning a priority system - but haven't figured this out. Also in hindsight should have possibly kept the read and write blocks separate. Feedback welcomed, hopefully with some more input we could put together a real useful template/example for comms with non Uni devices. Attached is the example, you are most interested in the "Modbus Step Logic" subroutine and the Modbus datatable. The relevant operands are MI300-MI399 I used the datatables in conjunction with excel to edit operand descriptions, and then imported them back into visilogic. (Can't upload excel files?) Modbus_Template.vlp
  20. Great solution from Damian! I like it. I guess if it were turning really really slow (slower than this) then you could measure the sector angle that the sensor was on for say 5 deg, and time that. At 680rpm there is 44 ms, not 440 so this is why the 300000. I don't know why though? Is SDW3 = 2.5ms x 10?
  21. I know you asked for a software solution, but it looks like the sensor is pointing to the nuts on the outside, and there are 8 of them. This should help accuracy?
  22. Actually, was 1.5 days out so ended up with: =(((B2+(12*3600)+129600)/86400))
  23. In another interesting development on the subject of excel: I used the RTC to UTC function and logged the resulting DW in a datatable which Dataxport imported into excel. (Thanks to Emil!) Using a formula in excel and then formatting the resulting value gives the date in date format. (Thanks to a quick google) So UTC = 3506338408 Formula is "=(((B2-(12*3600))/86400))" Where B2 points to the UTC cell and "12" is your timezone, gives: 8/02/2011 2:53
  24. Thats awesome Emil - Thanks for making DataXport "especially for me"! It is perfect, well almost. I have got it working, but; Is there any way in which it can overwrite the same excel file with the same file name each log? I see that help says: "Note that DataXport creates a separate Excel file for each data log. " Maybe you can add a check box "especially for me" to overwrite file? My idea is to use another excel spreadsheet pointing to this one to generate graph's etc, or have a javascript intranet based web page point at one file? Thank-you for your help once again.
  25. Hi All. Was thinking it would be great if Visilogic could write a .csv file to a network location over an ethernet connection. Similar to how the write to SD works. Any thoughts, can it be done already? I am using a shift register to log 5 columns of data in 365 rows on a daily basis (a years history). This data is then reported to management. I know I could somehow use DDE, but I thought this method would be simple (for me!)
×
×
  • Create New...