TERdON: jag lägger förmodligen ut programmet i tråden tillsammans med
en "getting started guide". Då får du gärna prova!
Jag har nu fått ordning på översättningen från fbd till c-kod. Ett exempel:
I följande projekt har ett nytt bibliotek med namnet NewLibrary skapats.
I biblioteket har jag skapat ett nytt funktionsblock med namnet SR.

I funktionsblocket SR har tre stycken parametrar deklarerats, S, R och Q.
Funktionsblocken OR och AND är instanser av samma block från system-
biblioteket. De har instansnamn som inte visas, nämligen AND_1 och
OR_1. Den svarta fyrkaten vid in2-parametern på AND-blocket indikerar att
anslutningen är inverterad.
Att anslutningen mellan blocken inte visas som ett streck beror på att jag
strukturerat om koden ganska mycket för anslutningshanteringen och inte
har fixat till det än.

Översättningen av biblioteket NewLibary som endast innehåller funktionsblocket SR blir då så här:
c-fil
Kod: Markera allt
//-------------------------------------------------------------------------
// Includes
//-------------------------------------------------------------------------
#include "project.h"
//-------------------------------------------------------------------------
// Functionblock: SR
//-------------------------------------------------------------------------
void SR( SR_Type *fbdata, bool R, bool S )
{
OR( fbdata->fbi_OR_1, fbdata->Q, S );
AND( fbdata->fbi_AND_1, !R, fbdata->OR_1.out );
}//SR()
Kod: Markera allt
#ifndef NEWLIBRARY_H
#define NEWLIBRARY_H
//-------------------------------------------------------------------------
// Functionblock: SR
//-------------------------------------------------------------------------
typedef struct {
// Output parameters
bool Q,
// FB instances
AND_Type fbi_AND_1,
OR_Type fbi_OR_1
} SR_Type;
void SR( SR_Type *fbdata, bool R, bool S );
#endif