Aktuelle Zeit: 07.04.2020 19:25

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 15:16 
Offline

Registriert: 05.08.2011 15:12
Hallo Liebe Pure´ler.
Ich habe mich die letzte Zeit sehr Intensiv mit PB ausseinander gesetzt und es gefällt mir sehr gut.
Es ist meine erste Sprache die ich lerne.

Ich würde gerne mir ein Internetcafe Interface coden.
Dafür muss ich auf einen Münzprüfer zugreifen.Dieser hat normal Treiber DDL´s und es gibt welche mit einem CCTalk Protokol was wie eine Lib anzusehen ist.Aber kann ich darauf auch auf mit Purebasic zugreifen? Der Prüfer arbeitet über USB.

Wäre nett wenn ich hier ein paar anregungen bekommen würde :)

Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 15:29 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
PureBasic alleine wird die wohl nicht steuern können.

Aber du kannst mit PureBasic auf die Funktionen der DLL/Lib zugreifen und diese Ausführen lassen.
Dafür musst du natürlich wissen, welche Parameter erwartet werden.

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 15:33 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Wenn es eine C-API Schnittstelle gibt, ist es kein Problem. Bei einer C++ (COM-Schnittstelle) wird es dann
schon aufwendiger und könnte Probleme geben.

Aber ohne vorliegende Doku (Header-Dateien usw.) läßt sich nicht viel sagen.

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 16:07 
Offline

Registriert: 05.08.2011 15:12
http://www.aus.at/support/cctalk.htm
Hier bei der Dokumentation 2 sind Header Daten und Co vorhanden.
Es gibt sau wenig Infos im Netz über CCtalk.Noch nichtmal Beispiel Sources in anderen Sprachen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 16:39 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Wenn Du den Münzprüfer an die RS232 des PC angeschlossen bekommst, das Protokol nach PB übersetzt hast,
sollte es gehen. Dafür solltest Du über gute Englisch-Kenntnisse verfügen, viel Erfahrung in Programmierung,
Datentypen und PB haben.

Viel Glück :wink:

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 16:43 
Offline

Registriert: 05.08.2011 15:12
Okey!
Megaviel Erfahrung habe ich in PB noch nicht.
Und überhauptweiss ich auch nicht wie ich das übersetzen sol,also wird e daran wohl scheitern :(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 16:50 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Ohne Programmiererfahrung sieht es eher schlecht aus, da würde ich erstmal mit anderen Dingen Programmier-
Erfahrung sammeln und die Idee später wieder aufgreifen. Ich hab mir ja nicht alles angesehen, aber die
Steuerung über die RS232 sollte mit PB problemlos funktionieren. Aber dafür muss dann das Protokoll auch
exakt eingehalten werden, sonst versteht Dich der Münzprüfer nicht. Alles mit Speicher, Strukturen usw.
solltest Du beherrschen und die richtigen Infos in der Doku finden. Das ist nichts von heute auf morgen.

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 16:53 
Offline

Registriert: 05.08.2011 15:12
Ja das es nichts von heute auf morgen ist,war mir soweit schon bewusst.
Ich lass es dann erstmal langsam angehen.
Aber warum RS232 ? Wird USB PBmäßig nicht unterstützt? Oder gibts dafür andere Hintergründe?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 17:23 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
USB wird per Treiber genutzt, dafür gibt es keine spezielle Lib, da jedes Gerät andere Treiber benötigt,
lediglich Mäuse und Tastaturen wären nutzbar.

Dein Münzprüfer ist doch für die RS232 ausgelegt, bzw. Centronics wird wohl auch noch unterstützt.
RS232 über USB gibts da auch noch.

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Münzprüfer und Purebasic ?
BeitragVerfasst: 05.08.2011 21:01 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Dabei hat Thomas alias ts-soft doch ein hübsches Tool
PureDLLHelper veröffentlicht, womit man diese CCDLL.dll, welche dazu installiert
wird, in PB anzupassen. Den Rest müßte man sich aus der englischen Doku herauslesen,
wie diese Funktionen dann gehandhabt werden müssen. Ich habe mal aus Jux mit dem Programm
von ts-soft die DLL für PB ausgelesen. Nur ohne Gerät kann man das nicht ausprobieren.

Code:
;==========================================================================
; Generated with PureDLLHelper, Copyright ©2011 by Thomas <ts-soft> Schulz
;==========================================================================

Prototype  CCClearsCom(a, b)
Prototype  CCGet_Adress(a, b, c)
Prototype  CCGet_Adress_Mode(a, b)
Prototype  CCGet_Buffer(a, b, c)
Prototype  CCGet_BuildCode(a, b)
Prototype  CCGet_Channel_Enable(a, b)
Prototype  CCGet_CoinId(a, b, c, d)
Prototype  CCGet_CommsStatus(a, b, c, d)
Prototype  CCGet_DB(a, b, c)
Prototype  CCGet_Equipement(a, b, c, d, e)
Prototype  CCGet_InputLines(a, b, c, d, e)
Prototype  CCGet_Manufacturer(a, b, c)
Prototype  CCGet_Manufacturing_Date(a, b, c, d)
Prototype  CCGet_Master_Inhibit(a, b)
Prototype  CCGet_Modification_Date(a, b)
Prototype  CCGet_Opto_Status(a, b)
Prototype  CCGet_Polling(a, b, c)
Prototype  CCGet_Product(a, b)
Prototype  CCGet_Serial_Number(a, b)
Prototype  CCGet_Simple_Poll(a, b, c, d)
Prototype  CCGet_Status(a, b, c)
Prototype  CCGet_cctalk_Version(a, b, c)
Prototype  CCModify_Sorter(a, b)
Prototype  CCReSet(a, b)
Prototype  CCRequest_Base_Year(a, b, c)
Prototype  CCRequest_Sorter(a, b, c)
Prototype  CCSend_Command(a, b, c)
Prototype  CCSet_Adress(a, b)
Prototype  CCSet_Channel_Enable(a, b, c, d)
Prototype  CCSet_Rand_Adress(a, b)
Prototype  CCSoftVersion(a, b, c)
Prototype  CCTestOutput(a)
Prototype  CCTestSolenoid(a, b)
Prototype  CCset_CoinId(a, b, c)

Global CCClearsCom.CCClearsCom
Global CCGet_Adress.CCGet_Adress
Global CCGet_Adress_Mode.CCGet_Adress_Mode
Global CCGet_Buffer.CCGet_Buffer
Global CCGet_BuildCode.CCGet_BuildCode
Global CCGet_Channel_Enable.CCGet_Channel_Enable
Global CCGet_CoinId.CCGet_CoinId
Global CCGet_CommsStatus.CCGet_CommsStatus
Global CCGet_DB.CCGet_DB
Global CCGet_Equipement.CCGet_Equipement
Global CCGet_InputLines.CCGet_InputLines
Global CCGet_Manufacturer.CCGet_Manufacturer
Global CCGet_Manufacturing_Date.CCGet_Manufacturing_Date
Global CCGet_Master_Inhibit.CCGet_Master_Inhibit
Global CCGet_Modification_Date.CCGet_Modification_Date
Global CCGet_Opto_Status.CCGet_Opto_Status
Global CCGet_Polling.CCGet_Polling
Global CCGet_Product.CCGet_Product
Global CCGet_Serial_Number.CCGet_Serial_Number
Global CCGet_Simple_Poll.CCGet_Simple_Poll
Global CCGet_Status.CCGet_Status
Global CCGet_cctalk_Version.CCGet_cctalk_Version
Global CCModify_Sorter.CCModify_Sorter
Global CCReSet.CCReSet
Global CCRequest_Base_Year.CCRequest_Base_Year
Global CCRequest_Sorter.CCRequest_Sorter
Global CCSend_Command.CCSend_Command
Global CCSet_Adress.CCSet_Adress
Global CCSet_Channel_Enable.CCSet_Channel_Enable
Global CCSet_Rand_Adress.CCSet_Rand_Adress
Global CCSoftVersion.CCSoftVersion
Global CCTestOutput.CCTestOutput
Global CCTestSolenoid.CCTestSolenoid
Global CCset_CoinId.CCset_CoinId

Procedure.i CCDll_LoadDLL()
  Protected hDLL.i

  hDLL = OpenLibrary(#PB_Any, "CCDll.dll")
  If hDLL <> 0
    CCClearsCom = GetFunction(hDLL, "CCClearsCom")
    CCGet_Adress = GetFunction(hDLL, "CCGet_Adress")
    CCGet_Adress_Mode = GetFunction(hDLL, "CCGet_Adress_Mode")
    CCGet_Buffer = GetFunction(hDLL, "CCGet_Buffer")
    CCGet_BuildCode = GetFunction(hDLL, "CCGet_BuildCode")
    CCGet_Channel_Enable = GetFunction(hDLL, "CCGet_Channel_Enable")
    CCGet_CoinId = GetFunction(hDLL, "CCGet_CoinId")
    CCGet_CommsStatus = GetFunction(hDLL, "CCGet_CommsStatus")
    CCGet_DB = GetFunction(hDLL, "CCGet_DB")
    CCGet_Equipement = GetFunction(hDLL, "CCGet_Equipement")
    CCGet_InputLines = GetFunction(hDLL, "CCGet_InputLines")
    CCGet_Manufacturer = GetFunction(hDLL, "CCGet_Manufacturer")
    CCGet_Manufacturing_Date = GetFunction(hDLL, "CCGet_Manufacturing_Date")
    CCGet_Master_Inhibit = GetFunction(hDLL, "CCGet_Master_Inhibit")
    CCGet_Modification_Date = GetFunction(hDLL, "CCGet_Modification_Date")
    CCGet_Opto_Status = GetFunction(hDLL, "CCGet_Opto_Status")
    CCGet_Polling = GetFunction(hDLL, "CCGet_Polling")
    CCGet_Product = GetFunction(hDLL, "CCGet_Product")
    CCGet_Serial_Number = GetFunction(hDLL, "CCGet_Serial_Number")
    CCGet_Simple_Poll = GetFunction(hDLL, "CCGet_Simple_Poll")
    CCGet_Status = GetFunction(hDLL, "CCGet_Status")
    CCGet_cctalk_Version = GetFunction(hDLL, "CCGet_cctalk_Version")
    CCModify_Sorter = GetFunction(hDLL, "CCModify_Sorter")
    CCReSet = GetFunction(hDLL, "CCReSet")
    CCRequest_Base_Year = GetFunction(hDLL, "CCRequest_Base_Year")
    CCRequest_Sorter = GetFunction(hDLL, "CCRequest_Sorter")
    CCSend_Command = GetFunction(hDLL, "CCSend_Command")
    CCSet_Adress = GetFunction(hDLL, "CCSet_Adress")
    CCSet_Channel_Enable = GetFunction(hDLL, "CCSet_Channel_Enable")
    CCSet_Rand_Adress = GetFunction(hDLL, "CCSet_Rand_Adress")
    CCSoftVersion = GetFunction(hDLL, "CCSoftVersion")
    CCTestOutput = GetFunction(hDLL, "CCTestOutput")
    CCTestSolenoid = GetFunction(hDLL, "CCTestSolenoid")
    CCset_CoinId = GetFunction(hDLL, "CCset_CoinId")

    ProcedureReturn hDLL
  EndIf

  ProcedureReturn #False
EndProcedure

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye