Difference between revisions of "Example"

From Proview Wiki
Jump to: navigation, search
Line 42: Line 42:
 
<li> Yes </li>
 
<li> Yes </li>
 
</ul>
 
</ul>
<p><em><strong>/usr/local/pwrp/cpp/src/appl/ra_myappl.cpp</strong></em></p>
+
<p><em><strong>/usr/local/pwrp/cpp/src/appl/ra_myappl.cpp</strong></em><samp></samp></p>
<pre>#include &lt;math.h&gt;
+
<p><em><strong><br /></strong></em></p>
#include "pwr.h"
+
#include "pwr_baseclasses.hpp"
+
#include "rt_gdh.h"
+
 
+
 
+
class ra_myappl {
+
pwr_Class_XyCurve *curve_ptr;
+
pwr_tRefId dlid;
+
public:
+
ra_myappl() {}
+
void init();
+
void scan();
+
void close();
+
};
+
 
+
void ra_myappl::init()
+
{
+
pwr_tStatus sts;
+
pwr_tOName name = "plant-curve";
+
+
// Connect to database
+
sts = gdh_Init( "ra_myappl");
+
if ( EVEN(sts)) exit(0);
+
 
+
// Direct link to curve object
+
sts = gdh_RefObjectInfo( name, (void **)&amp;curve_ptr, &amp;dlid, sizeof(*curve_ptr));
+
if ( EVEN(sts)) exit(0);
+
}
+
 
+
void ra_myappl::scan()
+
{
+
for ( unsigned int i = 0;;i++) {
+
  if ( i % 5 == 0) {
+
  // Calculate x and y coordinates for a sine curve every fifth second
+
  for ( int j = 0; j &lt; 100; j++) {
+
    curve_ptr-&gt;XValue[j] = j;
+
    curve_ptr-&gt;YValue[j] = 50 + 50 * sin( 2.0 * M_PI * (j + i) / 100);
+
  }
+
  // Indicate new curve to graph
+
  curve_ptr-&gt;Update = 1;
+
}
+
else if ( i % 5 == 2)
+
  curve_ptr-&gt;Update = 0;
+
sleep(1);
+
if ( i &gt; 360)
+
  i = 0;
+
}
+
}
+
 
+
void ra_myappl::close()
+
{
+
gdh_UnrefObjectInfo( dlid);
+
}
+
 
+
 
+
int main()
+
{
+
ra_myappl myappl;
+
+
myappl.init();
+
myappl.scan();
+
myappl.close();
+
}
+
</pre>
+
<p><strong>On terminal</strong></p>
+
<pre>$ sdf cpp
+
$ cd /usr/local/pwrp/cpp/src/appl/
+
$ g++ -g -c ra_myappl.cpp -o $pwrp_obj/ra_myappl.o -I$pwr_inc -DOS_LINUX=1 -DOS=linux -DHW_X86=1 -DHW=x86
+
$ g++ -g -o $pwrp_exe/ra_myappl $pwrp_obj/ra_myappl.o $pwr_obj/pwr_msg_rt.o -L$pwr_lib -lpwr_rt -lpwr_co -lpwr_msg_dummy -lrt
+
</pre>
+
<p><strong>On proview</strong></p>
+
<ul>
+
<li> Shift+Ctrl+B Node + B </li>
+
<li> Tools -&gt; Runtime Monitor </li>
+
<li> Start Runtime </li>
+
<li> File -&gt; Start Runtime Navigator </li>
+
<li> right key Database </li>
+
<li> right key plant </li>
+
<li> MB3 curve Object Graph </li>
+
</ul>
+
<p><br /> <strong>On terminal</strong></p>
+
<pre>$ ra_myappl</pre>
+
<p>l</p>
+
<p><strong><br /></strong></p>
+

Revision as of 06:21, 21 August 2013

Proview Designer's Guide Chapter 13

Open Proview

  • Ctrl+E
  • MB1 $Hier
  • MB2 right panel
  • right key on Oxx $Hier
  • ObjectName application
  • MB1 ProjectReg
  • MB2 in application $Hier
  • right key on Oxx $ProjectReg
  • ObjectName cpp
  • Ctrl+E
  • Yes
  • Yes
  • MB3 cpp Open Project...
  • Next
  • Next
  • No
  • Next
  • Next
  • Next
  • Next
  • Yes

Configure RootVolume

  • Next
  • Next
  • Next
  • MB1 Plant -> $PlantHier
  • MB2 right panel
  • right key on Oxx $PlantHier
  • ObjectName plant
  • MB1 AllClases -> pwrb -> XyCurve
  • MB2 in plant $PlantHier
  • right key on Oxx XyCurve
  • ObjectName curve
  • Ctrl+E
  • Yes

/usr/local/pwrp/cpp/src/appl/ra_myappl.cpp


Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox