![]() ![]() |
I have a small VBA/VB6-Application that communicates with an Omron CP1L-PLC. It works only on Windows and now it should run on Windows, Mac and if its possible on Linux too.
The User Interface communicates over an USB-Port with the PLC, optional i could use an RS232-Port. In the Future i like to communicate with some DSLR-cams too, i think over the USB-Port.
I think the Application and communications must written new, that i can use it on Macs. Now i'm searching for a way to realize that.
Has anyone experience with Omron-communications on Mac or Linux? How could i realize that or where could i get some drivers to connect the PLC? What would be the best way to realize that?
thanx a lot for every inputs!
The User Interface communicates over an USB-Port with the PLC, optional i could use an RS232-Port. In the Future i like to communicate with some DSLR-cams too, i think over the USB-Port.
I think the Application and communications must written new, that i can use it on Macs. Now i'm searching for a way to realize that.
Has anyone experience with Omron-communications on Mac or Linux? How could i realize that or where could i get some drivers to connect the PLC? What would be the best way to realize that?
thanx a lot for every inputs!
![]() ![]() |
I think your first problem is going to be that VB6 is for MS Windows only and doesn't run anywhere else.
Omron has a protocol called "FINS" which they document in their manuals. If you can use that it might be a solution.
There's a project on Sourceforge that claims to be a FINS library, but I don't really know much about it.
http://sourceforge.net/projects/omroncomm/
Omron has a protocol called "FINS" which they document in their manuals. If you can use that it might be a solution.
There's a project on Sourceforge that claims to be a FINS library, but I don't really know much about it.
http://sourceforge.net/projects/omroncomm/
![]() ![]() |
Thanx for your reply!
I read about the FINS protocol, but i think this is only for Ethernet and not for USB or RS232..?
Yes i can't use the VBA Application because its only runs on Windows systems. It must be rewritten that i can use and communicate on mac-platforms with the PLC.
But i don't know which would be the best way to realize that...? I thought about C++ with wxwidgets or qt, but don't really know if its possible that i can communicate with the PLC from Mac and Windows...?
I read about the FINS protocol, but i think this is only for Ethernet and not for USB or RS232..?
Yes i can't use the VBA Application because its only runs on Windows systems. It must be rewritten that i can use and communicate on mac-platforms with the PLC.
But i don't know which would be the best way to realize that...? I thought about C++ with wxwidgets or qt, but don't really know if its possible that i can communicate with the PLC from Mac and Windows...?
![]() ![]() |
Omron also has a protocol called "Hostlink" which operates over RS-232.
For cross-platform programming languages, I can recommend Python. Python comes already installed on most Linux systems and I believe that is the case for Macs as well. It's also available for MS Windows. It's free/open sources and you can download it from:
http://www.python.org
I have a number of large Python programs that run on both Linux and MS Windows without requiring any changes (they should work on Mac OS/X as well, but I don't test for that).
For serial port access you will want to use the third party pyserial library (which is also free and open source).
You have a choice of GUI toolkits. Tkinter is in the standard Python library, but while it's easy to use the features are limited and it takes a bit more work to actually make it look nice. You can however also use wxWidgets, QT, or GTK+.
You might also want to consider using a web interface instead of a traditional GUI. You can write AJAX style web interfaces which update themselves dynamically in the background with new data. I have done this with a number of programs where the part that does the communications runs as a combined communications/web server, and the web browser handles the user interaction.
For cross-platform programming languages, I can recommend Python. Python comes already installed on most Linux systems and I believe that is the case for Macs as well. It's also available for MS Windows. It's free/open sources and you can download it from:
http://www.python.org
I have a number of large Python programs that run on both Linux and MS Windows without requiring any changes (they should work on Mac OS/X as well, but I don't test for that).
For serial port access you will want to use the third party pyserial library (which is also free and open source).
You have a choice of GUI toolkits. Tkinter is in the standard Python library, but while it's easy to use the features are limited and it takes a bit more work to actually make it look nice. You can however also use wxWidgets, QT, or GTK+.
You might also want to consider using a web interface instead of a traditional GUI. You can write AJAX style web interfaces which update themselves dynamically in the background with new data. I have done this with a number of programs where the part that does the communications runs as a combined communications/web server, and the web browser handles the user interaction.
![]() ![]() |
thanx a lot for your help!
hmm but next problem...
(i think) mac's don't have a com-port (RS232). so i think i could only use the USB-port for communication from macs...?
hmm but next problem...
(i think) mac's don't have a com-port (RS232). so i think i could only use the USB-port for communication from macs...?
![]() ![]() |
A lot of x86 laptops no longer come with serial ports (but still come with the ACTUALLY useless parallel port for some reason). So they have these things that plug into the USB port and give you a serial port, more or less. Have no idea if they work with Macs or not, but they're out there and they're pretty cheap.
![]() ![]() |
Have you looked at using a USB to RS-232 converter?
![]() ![]() |
You can also consider using Java. It is fully compatible with all those operating systems.
The swing GUI is very extensive also for a user interface. Eclipse or Netbean has a developing environment (all free) with all the bells and whistles. Like any programming language, there is a learning curve.
I have done some work implementing drivers in Java, and so far it is working very well.
The swing GUI is very extensive also for a user interface. Eclipse or Netbean has a developing environment (all free) with all the bells and whistles. Like any programming language, there is a learning curve.
I have done some work implementing drivers in Java, and so far it is working very well.
![]() ![]() |
Thanx a lot for your replies!
If i would use Hostlink, i don't need any other drivers for communications with the PLC..? (like .ocx-components in the actually application - to start/stop the motor, to visualize some parameters...)
If i would use Hostlink, i don't need any other drivers for communications with the PLC..? (like .ocx-components in the actually application - to start/stop the motor, to visualize some parameters...)
![]() ![]() |
You will need to write some functions to encode and decode the host link messages. As for what else you need, well that depends on what your program is going to do. For traditional GUI stuff you will need to use a cross platform GUI toolkit (see the previous messages on that) and draw your own widgets (buttons and pilot lights).
![]() ![]() |
Thanx a lot for your answers!
Maybe someone would be interested to do this for me? For money... I think that's a bit too complicated for me...
You could write me at info@b-freedesign.ch. I would be very grateful. ;)
Thanx a lot!
Maybe someone would be interested to do this for me? For money... I think that's a bit too complicated for me...
You could write me at info@b-freedesign.ch. I would be very grateful. ;)
Thanx a lot!
![]() ![]() |
Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2013 Nerds in Control, LLC. All rights reserved.
Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.
Fortune
I have learned
To spell hors d'oeuvres
Which still grates on
Some people's n'oeuvres.
-- Warren Knox








on 19 April, 2011 - 9:21 am
on 19 April, 2011 - 10:18 pm

