Jump to content

CFBFP

Members
  • Content Count

    28
  • Joined

  • Last visited

Community Reputation

1 Neutral

About CFBFP

  • Rank
    Member
  1. Dear all In my application I have to measure the elapsed time between 2 events that can happen on 2 different timestamps on the calender. Example: What is the time elapsed between 20-01-2016 16:35:55 and 19-04-2015 14:41:22? If I can have the elapsed time value as a number that can be converted afterwards in Years, Months, Days, Hours, Minutes and Seconds, that's ok. If it can be directly displayed as a result from a End Time and Start Time Substraction, is also ok. I'm using the V350 and can display the actual time using the link to SI30 to the Variable UTC, this works. The problem is that when I store SI30 to a DW variable it only saves the seconds and not the complete time stamp (= Year, Month, Day, Hours, Minutes, Seconds) in seconds, so every 60s it goes back to 0s. As a consequence the elapsed time is corrupt: sometimes values are also negative and only in seconds, 45s-59s= negative value of course I would like to store the Start Time Stamp in DW0 as a number and the End Time Stamp in DW1 as a number and substract DW1-DW0 and save it in DW3. DW3 should then give me the elapsed time in Years, Months, Days, Hours, Minutes, Seconds. Here it gives me only seconds and wrong values. It seems SI30 is giving me the complete Time Stamp on the Display if using a Variable UTC but if you work with the SI30 and store it in DW variables it only stores seconds and not the complete Time Stamp. I would like some help to calculate the elapsed time between 2 calender events. Any help is welcome!
  2. Hi I have to program 5 openCAN Bus Commands in the right order and fast after each other. The baudrate is already on 1000Mb/s but still i have the impression the commands are coming through very slow: it takes to long for 5 simple SDO commands. How is this possible? Maybe my method of programming is wrong. The openCAN commands I programmed in Unilogic software are working cause my servomotor controller is doing what I sent as instructions using the openCAN bus. How do I know when my first commands is sent so I can start to send already the next command? If i program SDO instructions one after each other without a software delay between the SDO commands it doesn't work anymore. My SDO commands are sent as follow: 1)send first command SDO openCAN 2)wait 50ms 3)send second command SDO openCAN 4)wait 50ms 5)send third command SDO openCAN 6)wait 50ms 7)... until all commands have been sent. The method above works but is much to slow for me. When I lower the timer 50ms, the commands are not coming through anymore cause the motor doesn't execute the actions what they were programmed for. Knowing i use 1000Mb/s on the openCAN bus, why do I need still delays between the instructions? Thank you in advance for your support
  3. Hi the hardware was detected but it could not be installed, there were warnings. Meanwhile i found a special procedure under Windows 8.1 to reboot the pc for special circumstances that it does not ask anymore for "signed certifications" before to install. This worked fine and I can program with the usb cable now. If it may be also some help for other people encountering the same problem, here is the procedure: http://www.makeuseof.com/tag/how-can-i-install-hardware-with-unsigned-drivers-in-windows-8/ Thanks for the support!
  4. Hi at the moment i'm programming the Unitronics hmi/oplc USP-070-B10 using an IP connection and this works fine. However, my wireless connection for surfing the internet is no that good and now I prefer to program the OPLC using a usb cable, then i have my cable internet connection back for surfing the internet. My problem is that i can't find the right driver to communicate between pc and oplc through a usb cable. Or do I need a special programming cable? Second question: is it the mini usb connection I have to use at the oplc panel? Any information how to set up the programming using the usb cable is welcome, i can't find it in the manuals i found on the website. (Using Unilogic Version 1.9 Rev.19 on Windows 8.1) thank you,
  5. Hi this helped a lot. It is clear to me know and can use datatables fully as i wanted. It is even more flexible as in Visilogic in my personal opinion. many thanks!
  6. Hi, if will try this first, but i'm not sure if i understand fully. I still have to find out if the members of the new created struct can hold global variables or if they are only cells that i have to select with row, column to transfer them in the variable i want. As i understand now there are 3 steps: - making the datatable - creating a new struct that meets the datatable to transfer values - selecting the values with row/column and finally transfer them in my variable where if want it thank you for your answer, i let you know if i succeeded.
  7. Hi i have made a datatable with 50 rows and 5 colums in Unilogic. How can I read a row of this datatable and directly put them in my global variables? (These global variables are used in my program to do more calculations with) In Visilogic, this was very easy with the function "Read row from Datatables": you select the rownumber and had to fill in the source cells and direct them to the destination global variables. I want to do the same in Unilogic. Can someone help me? thank you in advance.
  8. Hi my question is in my Topic title. Where to find system bits in Unilogic? Do they still exist? If not how to solve? thanks.
  9. Hi is there a way to know when a CAN bus command is sent? I'm using the instruction "CANopen SDO download STR", the predefined functionblock to send a command. Cause i want to send multiple commands as fast as possible i need to know when a previous sent command has finished in the servocontroller i am working with. Now I start a timer after each command for which I know the command is certainly processed before sending a next command (in my case in need to set it 40ms, what is to slow) Someone has ideas how to handle this? thanks
  10. Hi at the end of each subroutine in the ladder program you find "RET". You can't move it to the right or place it somewhere else. I want to conditionally return from a subroutine, but I can't move this object to insert a condition. Why is it? How then to conditionally return from a subroutine? f.
  11. Thanks for the help. I tried to split out ladder/nets. However my problem was not solved. I really had to restart from scratch and I started with my problem of datatable reading as a first thing to examinate. Now it works. I continue to build up step by step to finally reach my old program. It is a lot of work, but it will be the shortest. I programmed to much at once without controlling step by step. I'm using Windows 8.1 and sometimes Uintronics shuts down. Maybe there are some issues during compiling? I really don't know. f.
×
×
  • Create New...