Hi,
This last weeks I've been fighting my unknowledge in Proview and I haven't discovered some things, neither in the manuals nor in the forum or internet.
1.- I've been having the same problem (I think) as Denis
here. I tested some things and I discovered something.
The problem is that the plc process doesn't work. I think it needs some libraries to run so you can't test it out of the proview runtime, but when you try to run it outside the runtime, it produces a segmentation fault,... soooo it could be a crosscompiling error. I tried to compile a "helloworld" program in the dev station and run it on the runtime station, and... voila! It doesn't work. I compiled it with settings to make a static executable with the crosscompiler ( gcc6armlinuxgnueabihf ), for armv6z (raspi zero w) with vfd as hardfloat... etc. It compiles, but it doesn't work at the raspi. Then I tried to use the old toolchain to crosscompile for raspberry (
github.com/raspberrypi/tools) and I was able to compile in the dev station and run in the raspi,.... buuut after changing the parameters to use this toolchain (custom build executables), I can't (force) make the volume to distribute to the raspberry, there are errors.
Setting base /usr/pwr56
Warning! CoLog::log could not open log file $pwrp_db/wb_history.log
Open horno
args: horno pwrp pwrp
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Welcome to
horno V5.6
Revision history
2019-01-30 pwrp Project created
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- Processing line: 82
-- Building volume directory
-- Opening volume 'VolHorno'
-- Build node horno
-- Plc window generated Planta-PrgPlc-W
-- Plc window compiled for arm_linux optimized -O3 Planta-PrgPlc-W
%GSX-I-CCSUCC, Window compiled Planta-PrgPlc-W
-- Plc plcpgm compiled for arm_linux optimized -O3 Planta-PrgPlc
-- Building archive for volume: 000_001_001_001
-- Archive built for volume: 000_001_001_001
-- Working with load file volume 'VolHorno'...
-- Open file...
-- Successfully created load file for volume 'VolHorno'
-- 92 objects with a total body size of 74744 bytes were written to new file.
-- Creating bootfile for node mephisto
-- Plc thread generated priority 22, scantime 0.10000 s, 1 plcpgm's
-- Plc process compiled for arm_linux optimized -O3 -
** Plc program link errors for arm_linux node plc_mephisto_0001_plc
/usr/pwr56/os_linux/hw_arm/exp/lib/libpwr_rt.a(rt_pn_gsdml_data.o): In function `GsdmlDeviceData::read(char const*, int)':
/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:200: undefined reference to `operator delete(void*, unsigned int)'
/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:195: undefined reference to `operator delete(void*, unsigned int)'
/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:196: undefined reference to `operator delete(void*, unsigned int)'
/usr/pwr56/os_linux/hw_arm/exp/lib/libpwr_rt.a(rt_pn_gsdml_data.o): In function `GsdmlDeviceData::copy_slot(unsigned int)':
/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:212: undefined reference to `operator delete(void*, unsigned int)'
/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:214: undefined reference to `operator delete(void*, unsigned int)'
/usr/pwr56/os_linux/hw_arm/exp/lib/libpwr_rt.a(rt_pn_gsdml_data.o):/data0/x5-6-1/pwr/profibus/lib/rt/src/os_linux/.hw_arm/../../rt_pn_gsdml_data.cpp:228: more undefined references to `operator delete(void*, unsigned int)' follow
/usr/pwr56/os_linux/hw_arm/exp/lib/libpwr_co.a(co_xml_parser.o): In function `co_xml_parser::next_token()':
/data0/x5-6-1/pwr/src/lib/co/src/os_linux/.hw_arm/../../co_xml_parser.cpp:121: undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
/data0/x5-6-1/pwr/src/lib/co/src/os_linux/.hw_arm/../../co_xml_parser.cpp:125: undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
/data0/x5-6-1/pwr/src/lib/co/src/os_linux/.hw_arm/../../co_xml_parser.cpp:127: undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
/data0/x5-6-1/pwr/src/lib/co/src/os_linux/.hw_arm/../../co_xml_parser.cpp:130: undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
collect2: error: ld returned 1 exit status
%GSX-F-CCERROR, Error from c compiler or linker
This first question is: how can I reliably compile for my raspi zero w? Do I have to change any compiler/linker settings? Where do I have to introduce the changes?
2.- Where does the "pwr_prio" has gone in v5.6? The errors I have at pwr_start's log in the runtime station are produced by the substitute or the lack of this program? Which are the file's owner for this "nice"-like process in order to setuid work?
Thank you very much for your help.