-> Hier kostenlos registrieren
Hallo
ich muss eine Gruppe von rechts nach links und wieder zuruecklaufen lassen, unter bestimmten Bedingungen.
Es gab schon mal ein thema in aehnlicher weise aber ich habe von vbs noch weniger ahnung als von c und komme deshalb nicht so zurecht.
ein greifer soll von rechts nach links laufen, wenn dafuer das signal aus der sps kommt. mit folgendem skript hab ich mal probiert. da es aber immer nur einmal ausgefuehrt wird, bei variablenaenderung, kommt keine bewegung zustande. mit einer while-schleife bin ich hier auch gescheitert.
eigenschaft linienfarbe:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
long lSchrittweite;
long lEndPos;
long lLeft;
lSchrittweite =80; // Angabe in Pixel
lEndPos = 80; // Angabe in Pixel
// Die aktuelle Position auslesen
lLeft = GetLeft(lpszPictureName,lpszObjectName);
if( lLeft > lEndPos )
{
SetLeft(lpszPictureName,lpszObjectName, lLeft - lSchrittweite);
}
return CO_BLACK;
}
nach erreichen der endlage und nachdem ein teil abgeladen wurde soll der greifer wieder zurueckfahren. als signale stehen mir die ausgaenge fuer links- und rechtsbewegung sowie die endlagen als eingaenge zur verfuegung (WinCC 6,S7-300,MPI).
wie gehe ich am besten vor? habe ich einen falschen ansatz gewaehlt?
vielen dank fuer eure hilfe.
ich muss eine Gruppe von rechts nach links und wieder zuruecklaufen lassen, unter bestimmten Bedingungen.
Es gab schon mal ein thema in aehnlicher weise aber ich habe von vbs noch weniger ahnung als von c und komme deshalb nicht so zurecht.
ein greifer soll von rechts nach links laufen, wenn dafuer das signal aus der sps kommt. mit folgendem skript hab ich mal probiert. da es aber immer nur einmal ausgefuehrt wird, bei variablenaenderung, kommt keine bewegung zustande. mit einer while-schleife bin ich hier auch gescheitert.
eigenschaft linienfarbe:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
long lSchrittweite;
long lEndPos;
long lLeft;
lSchrittweite =80; // Angabe in Pixel
lEndPos = 80; // Angabe in Pixel
// Die aktuelle Position auslesen
lLeft = GetLeft(lpszPictureName,lpszObjectName);
if( lLeft > lEndPos )
{
SetLeft(lpszPictureName,lpszObjectName, lLeft - lSchrittweite);
}
return CO_BLACK;
}
nach erreichen der endlage und nachdem ein teil abgeladen wurde soll der greifer wieder zurueckfahren. als signale stehen mir die ausgaenge fuer links- und rechtsbewegung sowie die endlagen als eingaenge zur verfuegung (WinCC 6,S7-300,MPI).
wie gehe ich am besten vor? habe ich einen falschen ansatz gewaehlt?
vielen dank fuer eure hilfe.
Zuletzt bearbeitet: